提问人:Sam Hammamy 提问时间:6/3/2014 最后编辑:CommunitySam Hammamy 更新时间:11/17/2014 访问量:1639
下载具有数据 URI 的多个文件
Downloading multiple files with a data URI
问:
我知道如何在锚点上设置 href 和下载属性,以允许用户将数据下载为文件。
但是,客户端要求一个链接将两个文件一起下载,而不是压缩!不要问我为什么!
在网上查找,我找到了以下解决方案:
1) 动态创建 2 个 iframe,并在每个表单中将其 GET 设置为服务器上其中一个文件的位置,然后运行表单提交...这里
2) (1) 的变体,使用 JQuery 插件。这里
3)打开弹出窗口。(不值得链接)
我想知道我是否可以在 JS 方面处理这个问题?在同一个应用程序中,我使用以下代码将数据导出到 CSV:
$elm.attr('href', 'data:text/csv;charset=utf8,' + encodeURIComponent(_str)).attr('download', fileName);
其中 _str 是展平的二维数组。
我可以以某种方式跟踪或附加第二个文件吗?
答:
1赞
Diego La Monica
11/12/2014
#1
您可以即时创建链接并触发 navite 单击事件。
function downloadAll(files){
if(files.length == 0) return;
file = files.pop();
var theAnchor = $('<a />')
.attr('href', file[1])
.attr('download',file[0]);
theAnchor[0].click();
theAnchor.remove();
downloadAll(files);
}
$('a.download-csv').on('click', function(){
downloadAll([
['file1.csv', 'data:text/csv;charset=utf8,'+
encodeURIComponent('my,csv,file\and,so,on')],
['file2.csv', 'data:text/csv;charset=utf8,'+
encodeURIComponent('my,csv,file\and,so,on')],
['file3.csv', 'data:text/csv;charset=utf8,'+
encodeURIComponent('my,csv,file\and,so,on')]
]);
});
在这里,您可以找到带有工作演示的小提琴。
这是我网站上的文章,其中包含所有详细信息
上一个:jQuery中的生涩滚动动画
评论