读取本地文件,编码为base64,我想给用户一个选项来将结果保存到文件

Posted

技术标签:

【中文标题】读取本地文件,编码为base64,我想给用户一个选项来将结果保存到文件【英文标题】:Reading a local file, encoding to base64, I would like to give the user an option to save the result to file 【发布时间】:2012-08-06 07:50:59 【问题描述】:

我有一个将本地文件编码为 Base64 的网页,并希望为用户提供一个选项来保存结果 - 现在位于 html 元素中 - 而无需返回服务器。 我可以将数据发布到后端网页,另存为文件,并提供

感谢您的帮助! 亲切的问候 凯蒂尔杜纳

【问题讨论】:

我觉得这个问题少了一半 【参考方案1】:

你可以这样做:

var file = //your Base64 encoded file
var url = 'data:application/octet-stream;base64,' + file;
window.open(url);

您应该调整代码,使 mime 类型与您提供的内容相匹配(应用程序/pdf...)

要传递文件名,您必须使用如下锚标记:

<a href="data:application/octet-stream;base64,/*YOUR FILE DATA*/" download="your filename">

但这不是跨浏览器。 见http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download

【讨论】:

谢谢,我现在得到一个可下载的文件!有没有办法指定文件名? download属性的值为文件名。

以上是关于读取本地文件,编码为base64,我想给用户一个选项来将结果保存到文件的主要内容,如果未能解决你的问题,请参考以下文章

java 按字节读写二进制文件(Base64编码解码)

将 .EXE 编码/解码为 Base64

上传图片获取base64位编码

如何在IOS中将视频文件转换为Base64字符串?

将 Base64 编码的图像写入文件

Base64码常见操作(url链接文件转base64编码本地文件转base64编码等)