FileSaver.js正在保存损坏的图像

问题描述 投票:4回答:2

这工作正常,突然停止工作。我不确定究竟发生了什么变化。

我需要通过URL下载多个图像。

我正在使用以下代码: https://plnkr.co/edit/nsxgwmNYUAVBRaXgDYys?p=preview

$http({
  method:"GET",
  url:"imageurl"
}).then(function(response){

  saveAs(new Blob([response.data]), "image.jpg");

},function(err){

});

文件大小不同,不是0字节。

http blob filesaver.js
2个回答
1
投票

对于其他人来到这里,请查看this solution

需要做的是在请求中添加responseType: "blob"

$http({
  method:"GET",
  url:"imageurl",
  responseType: "blob"
})
.then(...)

HereresponseType有效值的文档,其中默认值为"",因此响应被视为文本:

“”:空的responseType字符串被视为与“text”相同,默认类型(因此,作为DOMString)。

“blob:”:响应是包含二进制数据的Blob对象。


0
投票

以下代码为我工作:

axios.get(`http://localhost:61078/api/values`, {
  responseType: 'blob',
}).then(response => {
  if (response) {
    var FileSaver = require('file-saver');
    FileSaver.saveAs(new Blob([response.data]), "image.png");
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.