这就是我在网络服务器上的图像文件夹中的 .htaccess 文件中的内容
# Do not remove this line, otherwise mod_rewrite rules will stop working
RewriteBase /images
Header add Access-Control-Allow-Origin "*"
我也使用该行:img.crossOrigin = 'Anonymous';
在我的 JS 文件中,但我仍然收到错误消息。
Cross-origin image load denied by Cross-Origin Resource Sharing policy.
工作示例可以在这里找到:http: //jsfiddle.net/burton22/48JmQ/13/
var img = new Image();
img.onerror = function() {alert("error")};
img.onabort = function() {alert("abort")};
img.onload = function() {
var canvas = document.createElement('CANVAS');
var ctx = canvas.getContext('2d');
canvas.height = img.height;
canvas.width = img.width;
ctx.drawImage(img,0,0,120,120);
var dataURL = canvas.toDataURL('image/png');
alert("success");
}
img.crossOrigin = 'Anonymous';
img.src = "http://www.bobbycash.net/images/sushithumb.png";
只需查看控制台的错误。
它在将图像 src 属性更改为 后有效img.src = "http://goo.gl/AOxHAL"
,但不适用于我服务器上的图像。任何想法为什么?
编辑:我什至尝试在我的 htaccess 文件中使用它,它仍然给出同样的错误
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
<FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>