通过纯javascript下载触发器文件

时间:2013-01-02 08:58:07

标签: javascript http download mime

没有服务器端请求。所以它必须由纯JS完成。例如,我有这个代码。

function downloadFile(data, name, mime){
    /// what to put here?
}
var txt="Hello world";
var filename="sample.txt";
var mime="text/plain";
downloadFile(txt,filename, mime);

我知道a library完全在浏览器中完成,而不发送任何http请求。 如果我发送请求,我可以通过服务器端脚本来完成。只需获取数据并使用某些标题即可触发文件下载。但我想在Pure JS中做到这一点。没有服务器端请求。

1 个答案:

答案 0 :(得分:2)

您链接到的库使用https://github.com/dcneiner/Downloadify/,它使用Flash来确保跨浏览器兼容性。如果您不需要确定它适用于所有浏览器,您可以使用数据uri和纯JavaScript实现,如下所示:https://gist.github.com/syntagmatic/2202660。您还可以查看新的HTML5文件API:http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-filesystemurls