将base64字符串保存为文件
JavaScript: save base64 string as file
我有一个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
相关文章:
- AngularJS可以在没有任何服务器端技术的情况下将文件保存/写入服务器
- 将从浏览器创建的文件保存到磁盘 - 不能在 Firefox 上使用新的 File()
- 将用JavaScript生成的二进制文件保存到iPad
- 希望将客户端生成的二进制文件保存到客户端机器
- 是否将PDF文件保存在其他应用程序可以访问的PhoneGap应用程序中?(iOS)
- Chrome、Firefox转换“:"至“-"以及“_"分别显示在文件保存对话框中
- Grunt Copy任务不复制父文件夹's文件保存到正确的文件夹中
- 如何将画布作为 jpg 文件保存到服务器时增加 DPI
- Chrome扩展程序如何将许多文件保存到用户指定的目录中
- 使用 PHP 标头将文件保存在本地 PC 中
- 使用 javascript 将上传的文件保存到具有特定名称的特定位置
- 保存文件选项,用于将html文件保存在系统中的给定位置
- 将编辑html文件保存到特定文件夹
- jQuery旋转图像并使用相同的名称文件保存它们(覆盖)
- 文件保存和要求JS:不匹配的匿名定义
- CasperJS下载并将文件保存到特定位置
- 将音频文件保存在轨道中
- 如何显示来自 Chrome 扩展程序的文件保存对话框
- 如何在 Node.js 中使用 multer 将文件保存在项目文件夹中
- 如何使用JavaScript将文件保存在相对路径中