optimized file download
This commit is contained in:
parent
c003ee7035
commit
eb19b569a7
|
@ -197,8 +197,16 @@ function download(url, headersData, pathParamData, queryParamData, bodyParamData
|
||||||
xmlRequest.responseType = "blob";
|
xmlRequest.responseType = "blob";
|
||||||
xmlRequest.onload = function () {
|
xmlRequest.onload = function () {
|
||||||
if (this.status === 200) {
|
if (this.status === 200) {
|
||||||
let fileName = decodeURI(xmlRequest.getResponseHeader('filename'));
|
let fileName = "";
|
||||||
console.log(fileName);
|
const disposition = xmlRequest.getResponseHeader('Content-Disposition');
|
||||||
|
if (disposition && disposition.indexOf('attachment') !== -1) {
|
||||||
|
const filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
|
||||||
|
const matches = filenameRegex.exec(disposition);
|
||||||
|
if (matches != null && matches[1]) {
|
||||||
|
fileName = decodeURI(matches[1].replace(/['"]/g, ''));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log("download filename:" + fileName);
|
||||||
const blob = this.response;
|
const blob = this.response;
|
||||||
if (navigator.msSaveBlob) {
|
if (navigator.msSaveBlob) {
|
||||||
// IE10 can't do a[download], only Blobs:
|
// IE10 can't do a[download], only Blobs:
|
||||||
|
@ -237,11 +245,11 @@ function toCurl(request) {
|
||||||
cmd.push('-k');
|
cmd.push('-k');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (request.data && request.data.length > 0){
|
if (request.data && request.data.length > 0) {
|
||||||
cmd.push('-H');
|
cmd.push('-H');
|
||||||
cmd.push("'Content-Type: application/json; charset=utf-8'");
|
cmd.push("'Content-Type: application/json; charset=utf-8'");
|
||||||
}
|
}
|
||||||
// append request headers
|
// append request headers
|
||||||
let headerValue;
|
let headerValue;
|
||||||
if (typeof request.headers == 'object') {
|
if (typeof request.headers == 'object') {
|
||||||
for (let key in request.headers) {
|
for (let key in request.headers) {
|
||||||
|
@ -249,9 +257,9 @@ function toCurl(request) {
|
||||||
cmd.push('-H');
|
cmd.push('-H');
|
||||||
headerValue = request.headers[key];
|
headerValue = request.headers[key];
|
||||||
if (headerValue.value == '') {
|
if (headerValue.value == '') {
|
||||||
cmd.push("'"+key+"'");
|
cmd.push("'" + key + "'");
|
||||||
} else {
|
} else {
|
||||||
cmd.push("'"+key + ':' + headerValue+"'");
|
cmd.push("'" + key + ':' + headerValue + "'");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -263,10 +271,10 @@ function toCurl(request) {
|
||||||
cmd.push(request.url);
|
cmd.push(request.url);
|
||||||
if (request.data && request.data.length > 0) {
|
if (request.data && request.data.length > 0) {
|
||||||
cmd.push('--data');
|
cmd.push('--data');
|
||||||
cmd.push("'"+request.data+"'");
|
cmd.push("'" + request.data + "'");
|
||||||
}
|
}
|
||||||
let curlCmd = "";
|
let curlCmd = "";
|
||||||
cmd.forEach(function (item){
|
cmd.forEach(function (item) {
|
||||||
curlCmd += item + " ";
|
curlCmd += item + " ";
|
||||||
});
|
});
|
||||||
console.log(curlCmd);
|
console.log(curlCmd);
|
||||||
|
|
Loading…
Reference in New Issue