我有一个将本地文件编码到Base64的网页,并希望为用户提供保存结果的选项 - 现在驻留在html元素中 - 无需返回服务器。 我可以将数据发布到后端网页,保存为文件,并提供< a href = ..但我非常感谢在客户端实现此功能的选项。文件很容易对于帖子来说太大了.. 我可以编写som javascript代码来启动保存对话框,如果他选择接受文件,可以将文件内容推回给用户吗?
感谢您的帮助! 亲切的问候 Ketil Duna
答案 0 :(得分:1)
你可以这样做:
var file = //your Base64 encoded file
var url = 'data:application/octet-stream;base64,' + file;
window.open(url);
你应该调整代码,使mime类型与你服务的内容相匹配(application / pdf ...)
要传递文件名,您必须使用以下锚标记:
<a href="data:application/octet-stream;base64,/*YOUR FILE DATA*/" download="your filename">
但这不是crossbrowser。 见http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download