Html 下载具有数据URI的多个文件

Html 下载具有数据URI的多个文件,html,download,data-uri,Html,Download,Data Uri,我知道如何在锚点上设置href和download属性,以允许用户将数据下载为文件 然而,一个客户端要求一个链接同时下载两个文件,而不是压缩!别问我为什么 通过在线查找,我发现了以下解决方案: 1) 动态创建2个iFrame,并在每个iFrame的表单中将其GET设置为服务器上某个文件的位置,然后运行表单提交 2) 使用JQuery插件的(1)变体 3) 打开弹出窗口。(不值得链接) 我想知道我是否能在JS方面处理这个问题?在同一个应用程序中,我使用以下代码将数据导出到CSV: $elm.attr

我知道如何在锚点上设置href和download属性,以允许用户将数据下载为文件

然而,一个客户端要求一个链接同时下载两个文件,而不是压缩!别问我为什么

通过在线查找,我发现了以下解决方案:

1) 动态创建2个iFrame,并在每个iFrame的表单中将其GET设置为服务器上某个文件的位置,然后运行表单提交

2) 使用JQuery插件的(1)变体

3) 打开弹出窗口。(不值得链接)

我想知道我是否能在JS方面处理这个问题?在同一个应用程序中,我使用以下代码将数据导出到CSV:

$elm.attr('href', 'data:text/csv;charset=utf8,' + encodeURIComponent(_str)).attr('download', fileName);
其中_str是平坦的二维数组


我可以追踪或附加第二个文件吗?

您可以动态创建链接并触发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')]

    ]);
});
函数下载所有(文件){
如果(files.length==0)返回;
file=files.pop();
var theAnchor=$('和一个正在运行的演示

下面是所有细节的清单