我想用js+jquery创建图片编辑器。在第一步中,我要求用户提供图像url。但是,在尝试在JS内部加载图像数据(以生成base64图像URI)时,我遇到了问题。控制台中出现了错误:...已被CORS策略阻止:访问控制允许来源...
。但我想知道为什么会这样?如果在HTML文件中,我创建一个例如(image hotlink):
<img src="http://example.com/image.jpg">
<img src="https://static.pexels.com/photos/87293/pexels-photo-87293.jpeg" />
浏览器可以加载图像而不会出现任何CORS问题!以下是我的JS代码,用于处理同一图像时的CORS问题:
浏览器可以加载图像而不会出现任何CORS问题!以下是我的JS代码,用于处理同一图像时的CORS问题:
function downloadFile(url) {
console.log({url});
var img = new Image();
img.onload = function() {
console.log('ok');
// never execute because cors error
// … make base64 uri with image data needed for further processing
};
img.crossOrigin = "Anonymous";
img.src = url;
}
所以问题是 - 如何强制JS加载图像(就像html标签加载它),并将其转换为base64 URL来避免CORS问题? https://static.pexels.com/photos/87293/pexels-photo-87293.jpeg
http-server
这样的NodeJS轻量级服务器。 - J. Titus