从fileoutputstream下载png文件

时间:2019-01-09 11:34:40

标签: javascript image file download

我正在尝试将png文件下载到计算机,该文件被视为文件输出流。我正在尝试以下代码:

var userid = this.userid;
  let link = null;
  function reqListener() {
    if (this.responseText !== undefined) {
       link = document.createElement("a");
      var blob = new Blob([this.responseText], { type: item.type });
      link.download = item.name;
      link.href = (window.URL || window.webkitURL).createObjectURL(blob);
      debugger;
      link.click();

    }
  }
}

它下载文件,但无法打开。出现无法将其加载为png的错误。它适用于其他类型的文件,但不适用于图像文件。我该如何处理?

1 个答案:

答案 0 :(得分:0)

link.setAttribute('href', 'data:[<mediatype>][;base64],<data>');

图像的媒体类型

  • 图片/ gif
  • 图片/ jpeg
  • image / png
  • image / svg + xml
  • image / x-icon,image / vnd.microsoft.icon(对于Windows图标)

Base64

数据:,您好%2C%20World!

简单的文本/纯文本数据

数据:文本/纯文本; base64,SGVsbG8sIFdvcmxkIQ%3D%3D

上述的base64编码版本

您需要什么?

您需要这个href属性的字符串,

link.setAttribute('href', `data:image/png;base64,${btoa(this.responseText)}`)