Angular и Django: SecurityError: не удалось выполнить toDataURL для HTMLCanvasElement: испорченные холсты не могут быть экспортированы - PullRequest
0 голосов
/ 12 февраля 2020

Я работаю с Angular и Django. В angular я создаю отчеты с использованием jspdf и html2canvas, для этого я загружаю изображения, хранящиеся в Django, и в момент создания файла PDF я генерирую ошибку, упомянутую в заголовке. В Django я добавил коршедеры и дал разрешения на доступ из Angular:

DEBUG = True
ALLOWED_HOSTS = ['localhost', '127.0.0.1']

CORS_ORIGIN_ALLOW_ALL = False

CORS_ORIGIN_WHITELIST = [
'http://localhost:4200',
]

CORS_ALLOW_METHODS = list(default_methods) + [
'POKE',
]

CORS_ALLOW_HEADERS = list(default_headers) + [
'my-custom-header',
]

Функция Angular для генерации pdf:

pdf () {
html2canvas(document.querySelector("#content"), {allowTaint : 
true}).then(canvas => {

  var img=new Image(); img.crossOrigin="anonymous"
  img = canvas.toDataURL("image/png");
    var doc = new jsPDF();
    doc.addImage(img, 'JPEG', 0, 10);
    doc.save('test.pdf');
  });
  }

При просмотре страниц предлагалось добавить crossOrigin = "anonymous", но у меня это не сработало

...