我知道这个问题已经回答了,但我在使用Fetch API下载图片时遇到了问题。
我用来获取图片的代码。
function downloadImage() {
fetch('https://upload.wikimedia.org/wikipedia/commons/9/98/Pet_dog_fetching_sticks_in_Wales-3April2010.jpg',
{mode: 'no-cors'})
.then(response => response.blob())
.then(blob => {
console.log(blob);
});
}
在这里,当我console.log
时,我得到回应Blob {size: 0, type: ""}
请让我知道我在这里做错了什么?
答案 0 :(得分:2)
默认情况下,抓取使用CORS模式。但是,当服务器响应不包含“ Access-Control-Allow-Origin”标头时。跳过响应主体。
具有讽刺意味的是,您必须将模式设置为“ no-cors” 请求不透明的资源。不透明的响应 无法使用JavaScript访问,但是响应仍可以由服务人员提供或缓存。https://developers.google.com/web/ilt/pwa/working-with-the-fetch-api