"Испорченные холсты не могут быть экспортированы" даже после разрешения всех URL с помощью модуля Django CORS Headers
Используя Django, я пытаюсь получить текстуру с сайта textures.minecraft.net, обрезать, увеличить и отобразить участок этой текстуры.
CORS, конечно же, имеет с этим проблемы. В ответ на это я установил pip-модуль "django-cors-headers" и настроил параметры в соответствии с инструкциями здесь.
Вот как выглядит мой settings.py:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders', # here it is
'users.apps.UsersConfig',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware', # here it is
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
CORS_ALLOW_ALL_ORIGINS = True # Yes, it's unsafe. I just want a working prototype for now
CORS_ALLOW_CREDENTIALS = True
У меня есть JS, который пытается создать новое изображение с источником вышеуказанной текстуры.
Вот фрагмент JS:
let skin = "http://textures.minecraft.net/texture/74d1e08b0bb7e9f590af27758125bbed1778ac6cef729aedfcb9613e9911ae75";
let testImg = new Image();
testImg.height = 64;
testImg.width = 64;
testImg.setAttribute('crossorigin', 'anonymous');
testImg.src = skin;
Этот скрипт загружается в VIA django следующим образом:
<!-- Load the JS script into the base html on this page -->
{% block bodyscripts %}
<script src="{% static 'js/test.js' %}" defer></script>
{% endblock bodyscripts %}
Мой Pipfile содержит:
django-cors-headers = "*"
Но я все равно получаю ошибку "Access to image at 'http://textures.minecraft.net/texture/74d1e08b0bb7e9f590af27758125bbed1778ac6cef729aedfcb9613e9911ae75' from origin 'http://127.0.0.1:8000' has been blocked by CORS policy: На запрошенном ресурсе отсутствует заголовок 'Access-Control-Allow-Origin'."
Я уверен, что есть что-то, о чем я просто не знаю. Любой совет или обучение будут высоко оценены.