столкнулся с ошибкой CORS при загрузке изображения через html2canvas в React

Я сталкиваюсь с ошибкой CORS при загрузке изображения с заданного URL-адреса из laravel API. когда я загружаю изображение, оно пусто. но через laravel API я могу показать изображение в приложении React.js

ошибка, которую я получил в консоли

Access to image at 'https://api.osdtrips.com/images/781595409240.png' from origin 'http://localhost:3001' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 


cache-storage.ts:131 GET https://api.osdtrips.com/images/781595409240.png net::ERR_FAILED


index.js:1 17375d3eb78 503ms Error loading image https://api.osdtrips.com/images/781595409240.png

Я использую React.js в качестве интерфейса и Laravel в качестве сервера.

и вот код, который я использую в react.js для загрузки изображения: -

downloadImage() {
 html2canvas(document.querySelector("#divToPrint"), {
  logging: true,
  letterRendering: 1,
  allowTaint: true,
  useCORS: true,
  scrollX: 0,
  scrollY: -window.scrollY,

  async: true,
}).then((canvas) => {
  var a = document.createElement("a");
  a.href = canvas
    .toDataURL("image/png")
    .replace("image/png", "image/octet-stream");
  a.download = "somefilename.jpg";
  a.click();
});

}


person Syed Sadaif Rizvi    schedule 22.07.2020    source источник


Ответы (1)


С ресурсом не связан заголовок Access-Control-Allow-Origin.

Это означает, что в обычном режиме применяется та же политика происхождения. Никакому происхождению не предоставляется разрешение. Только происхождение ресурса.

Не могли бы вы загрузить все необходимые ресурсы и использовать их локально?

person Alexander Alexandrov    schedule 22.07.2020
comment
Я получаю URL-адрес изображения API и показываю изображение в приложении для реагирования, а затем загружаю одно изображение, когда пользователь нажимает на него после некоторого редактирования. - person Syed Sadaif Rizvi; 22.07.2020
comment
поэтому пользователю нужно выполнить некоторое редактирование, и после редактирования он может загрузить изображение, поэтому я использую html2canvas для создания снимка экрана div, но когда я загружаю изображение после редактирования, оно закрывается, когда я добавляю изображение через локальные активы react.js, то он отображается после загрузки и работает нормально, у него есть только проблема, когда я загружаю изображение с URL-адреса. - person Syed Sadaif Rizvi; 22.07.2020
comment
Возможно, это могло бы помочь npmjs.com/package/html2canvas См. Это не волшебным образом обходит любой браузер также ограничения политики контента, поэтому для рендеринга контента из разных источников потребуется прокси-сервер для доставки контента в один и тот же источник. - person Alexander Alexandrov; 22.07.2020