JavaScript:将base64字符串保存为文件

时间:2013-06-08 05:11:57

标签: javascript file base64

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

4 个答案:

答案 0 :(得分:8)

您可以使用download.js

download(base64String, filename, mimeType)

答案 1 :(得分:7)

您可以从js下载pdf。

使用:

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

答案 2 :(得分:1)

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

内容 - 处置:附件;文件名= “yourfilename.extension”

如果您从服务器获取文件作为html中嵌入的base64字符串,也许您可​​以跳过嵌入并只是直接链接到服务器上的文件,让服务器将其提供给用户

Related SO on Content-Disposition

答案 3 :(得分:1)

https://gist.github.com/RichardBray/23decdec877c0e54e6ac2bfa4b0c512f改编而成,可在Firefox上使用。

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(); 
}