繁体   English   中英

来自 firebase 的图像的 html2canvas jsPdf 访问错误

[英]html2canvas jsPdf access error for image sourced from firebase

在我的网页中,我从 Firebase 获取了一些图像。从 Firebase 加载这些图像没有问题。下一步我试图用这些图像制作一个 pdf 文件。 这是页面中的相关 javascript 代码:

我有一个很长的 for 循环,我在其中添加图像:

var probImagelink = document.getElementById("Question");
var qDiv = document.createElement('div');
probImagelink.appendChild(qDiv);
qDiv.id = 'QuestionBank'+listkey[k];

var qimg = document.createElement('img');
qimg.style.width= "100%";
qimg.src = listq[k];
qimg.id = "QuestionImg"+listkey[k];
qDiv.appendChild(qimg);

数组 listq 包含加载的来自 Firebase 的图像的 url。

pdf创建代码如下:

var doc = new jsPDF();

html2canvas(document.getElementById('QuestionBank'+listkey[k]), {
    useCORS : true,
    onrendered: function(canvas) {
         var imgData = canvas.toDataURL('image/jpeg');
         doc.addImage(imgData, 'JPEG', 15, 0, 34, 37);
    }
 });

但这就是问题所在。 我得到的第一个错误是:

CORS 策略已阻止从来源“http://localhost:5000”访问“https://firebasestorage.googleapis.com/******”中的图像:无“Access-Control-Allow-Origin” header 出现在请求的资源上。

我得到的第二个错误是:

未捕获的错误:提供的数据不是有效的 base64 字符串 jsPDF.convertStringToImageData

您需要按照 CORS 配置中的步骤在您的项目中安装 gsutil 并在您的 firebase 项目上禁用 CORS

https://firebase.google.com/docs/storage/web/download-files

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM