我有一个base64字符串,文件类型不确定,可能是图片、文本甚至pdf。我需要显示下载链接,当用户点击后应该能够像正常下载文件那样开始下载。
简而言之,服务器将文件以base64字符串的方式发送给我,我需要将其保存为浏览器上的文件。如何将base64字符串保存为浏览器上的文件?最好的解决方案也能在IE9上运行。
我有一个base64字符串,文件类型不确定,可能是图片、文本甚至pdf。我需要显示下载链接,当用户点击后应该能够像正常下载文件那样开始下载。
简而言之,服务器将文件以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)
您可以使用 JavaScript 下载 PDF。
操作步骤:
document.location = 'data:application/pdf;base64,' + base64String
base64String
转换为JPEG文件而不是PDF,这可能会导致此问题。 - Hiroki