我正在尝试一次下载多个文件。最初,我使用window.location = url
,但现在似乎不起作用。
我将其更改为window.open(url, "_blank")
,并且它仅下载第一个:
window.open("/host/Controller/DownloadDasFiles?paramId=204");
window.open("/host/Controller/DownloadDasFiles?paramId=205");
window.open("/host/Controller/DownloadDasFiles?paramId=206");
public FileResult DownloadDasFiles(int paramId)
{
var dasControl = UnityConfig.container.Resolve<IDasControlService>();
var filename = dasControl.GetDasFileToDownload(paramId);
return File(filename, "application/octet-stream", Path.GetFileName(filename));
}
在我的真实情况下,我会在AJAX成功执行后在javascript循环中执行此操作,但是此代码应该有效,不是吗?
答案 0 :(得分:0)
这可能会有所帮助。它将同时打开所有3个窗口。
let test = [204, 205, 206];
let downLoadFileBaseUrl = '/host/Controller/DownloadDasFiles?paramId='
test.forEach(element => {
let file = `${downLoadFileBaseUrl}+${element}`;
window.open(file, '_blank', 'File :' + element + ',scrollbars=1,menubar=0,resizable=1,width=850,height=500');
});