我正在尝试使用pdfmake将一些图像嵌入PDF中。为此,我需要为这些图像使用dataURIs。
this.getDataUri = (url) => {
var defer = $q.defer();
var image = new Image();
image.setAttribute('crossOrigin', '');
image.src = url;
image.onload = function() {
var canvas = document.createElement('canvas');
canvas.width = this.naturalWidth;
canvas.height = this.naturalHeight;
canvas.getContext('2d').drawImage(this, 0, 0);
defer.resolve(canvas.toDataURL('image/png'));
};
image.onerror = function() {
defer.reject();
};
return defer.promise;
}
我有一个将图片url转换为所需格式的函数,在最近之前这个函数一直能够正常工作。现在我遇到了以下错误:
来自“https://bucketeer-....s3.amazonaws.com”的图像因跨域资源共享策略而被阻止加载:请求的资源上没有“Access-Control-Allow-Origin”标头。因此,“http://localhost:3000”不允许访问。
这是我S3存储桶的CORS设置:
{
"CORSRules": [
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"HEAD",
"GET",
"PUT",
"POST"
],
"AllowedOrigins": [
"*"
]
}
]
}
我能做些什么来解决这个问题吗?
<AllowedOrigin>http://localhost:3000</AllowedOrigin>
- Rakesh Chand