0

我有一个将本地文件编码为 Base64 的网页,并希望为用户提供一个选项来保存结果 - 现在位于 html 元素中 - 而无需返回服务器。我可以将数据发布到后端网页,另存为文件,并提供 <a href= .. 但我非常感谢在客户端实现此功能的选项。该文件很容易对于帖子来说太大了。我可以编写 som javascript 代码来启动保存对话框,如果用户选择接受该文件,则将文件内容推送回给用户吗?

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

4

1 回答 1

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

于 2012-08-06T08:00:49.633 回答