$.ajax({
url: url,
type: "get",
// data: JSON.stringify(param),
// 向服务器发送的数据类型
contentType: 'application/json;charset=utf-8',
xhrFields: {
'responseType': 'blob'
},
success: function (result, status, xhr) {//固定三个参数
resolve(result, status, xhr);
}
}).done(function (result, status, xhr) {
// 可通过XMLHttpRequest对象,获取响应头
let filename = decodeURI(xhr.getResponseHeader('content-disposition').split(';')[1].split('=')[1]);
let imgurl = URL.createObjectURL(new Blob([result]));//神奇的方法
//download使元素可访问下载文件,参数就是文件名
$('.attachment-wrapper').append(`<a href="${imgurl}" download=${filename}>附件${index + 1}:${filename}</a><br>`);
//递归解决异步请求导致的文件加载顺序不一致的问题;
recur(attachmentFileIdsArr, customsCode, ++index);
});
Blob对象无法取到响应头的文件名
最新推荐文章于 2024-08-08 15:53:24 发布