我正在尝试将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的错误。它适用于其他类型的文件,但不适用于图像文件。我该如何处理?
答案 0 :(得分:0)
link.setAttribute('href', 'data:[<mediatype>][;base64],<data>');
数据:,您好%2C%20World!
简单的文本/纯文本数据
数据:文本/纯文本; base64,SGVsbG8sIFdvcmxkIQ%3D%3D
上述的base64编码版本
您需要这个href
属性的字符串,
link.setAttribute('href', `data:image/png;base64,${btoa(this.responseText)}`)