我正在尝试从我的服务器(spring mvc控制器)下载zip文件。以下是我在angularjs(1.5)控制器中下载zip文件的代码。
$http({
url: '/myurl',
method: 'GET',
headers: {
'Content-type': 'application/zip'
},
responseType: 'arraybuffer'
}).success(function (data,status,headers) {
var blob = new Blob([data], {type: "application/zip"});
var objectUrl = URL.createObjectURL(blob);
var file = headers('Content-Disposition');
window.open(objectUrl);
});
以上代码是可行的,但我需要使用响应头中获取到的文件名来下载文件。我从header('Content-Disposition')中获取到了文件名,如何使用这个文件名来下载文件?目前它会给出任意的文件名。
我尝试过下面的代码,它在Chrome浏览器中可以工作,但在Mozilla浏览器中不起作用...有没有其他解决方案可以在所有浏览器中工作呢?
//var anchor = document.createElement("a");
//anchor.download = "ATMOSLogFiles.zip";
//anchor.href = objectUrl;
//anchor.click();
感谢您的帮助!
'Content-type': 'application/zip'
?这是一个GET请求。请求中没有主体来描述内容类型。 - Quentin