【发布时间】:2018-09-14 19:14:18
【问题描述】:
您好,我是 java 脚本的新手,我正在尝试从运行在 http://10.1.2.137:5000/download 中的 Web 服务器下载 zip 文件。
当我在浏览器中以http://10.1.2.137:5000/download 单独访问 URL 时,正在下载 te zip 文件,但是当我从 java 脚本调用时,似乎 zip 文件已损坏。无法使用 win rar 打开 zip 文件。 不确定这是 CORS 的问题。
$scope.downloadData = function (){
console.log ('Entering in to Download Method')
var url = 'http://10.1.2.137:5000/download';
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
xhr.responseType = "arraybuffer";
var linkElement = document.createElement('iframe');
document.body.appendChild(linkElement)
xhr.send();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var blob = new Blob([str2bytes(xhr.response)], {type: "application/zip"});
var fileName = "logs.zip";
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob, filename);
} else {
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display:none";
var url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(url);
a.remove();
}
}
}
};
【问题讨论】:
标签: javascript angularjs