将base64字符串保存为文件

JavaScript: save base64 string as file

本文关键字:文件 保存 字符串 base64      更新时间:2023-09-26

我有一个base64字符串,文件类型。文件类型可以是图像,文本甚至pdf。我需要显示download链接,当用户点击它应该开始下载预期的文件。
简而言之,服务器将文件作为base64字符串发送给我,我需要将其保存为浏览器上的文件。如何将base64字符串保存为浏览器上的文件?如果解决方案也适用于IE9,那将是最好的。

改编自https://gist.github.com/RichardBray/23decdec877c0e54e6ac2bfa4b0c512f,适用于Firefox。

function downloadBase64File(contentBase64, fileName) {
    const linkSource = `data:application/pdf;base64,${contentBase64}`;
    const downloadLink = document.createElement('a');
    document.body.appendChild(downloadLink);
    downloadLink.href = linkSource;
    downloadLink.target = '_self';
    downloadLink.download = fileName;
    downloadLink.click(); 
}

你可以使用download.js.

download(base64String, filename, mimeType)

你可以从js下载pdf。

使用:

document.location = 'data:application/pdf;base64,' + base64String

当浏览器请求资源时出现适当的响应标头时,您将获得所需的效果(网页显示链接,当用户单击时,弹出另存为对话框):

附加项:附件;文件名= " yourfilename.extension "

如果你从服务器获得的文件是一个base64字符串嵌入到你的html中,也许你可以跳过嵌入,直接在你的服务器上嵌入一个到文件的链接,让服务器把它提供给用户。

内容处理相关SO