使用Fetch API下载图像

时间:2017-10-09 08:05:15

标签: javascript fetch-api

我知道这个问题已经回答了,但我在使用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: ""} 请让我知道我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

默认情况下,抓取使用CORS模式。但是,当服务器响应不包含“ Access-Control-Allow-Origin”标头时。跳过响应主体。

具有讽刺意味的是,您必须将模式设置为“ no-cors” 请求不透明的资源。不透明的响应 无法使用JavaScript访问,但是响应仍可以由服务人员提供或缓存。

https://developers.google.com/web/ilt/pwa/working-with-the-fetch-api