/**
* @description 下載下傳檔案
* @param { string } downloadUrl 下載下傳的連結
* @param { string } fileName 下載下傳檔案名稱
*/
function downloadBlobFile(downloadUrl, fileName, requestObj){
var xhr = new XMLHttpRequest();
// 設定響應類型為blob類型
xhr.responseType = 'blob';
var method = 'get';
if(requestObj && typeof requestObj === 'object'){
if(requestObj.method !== '' && requestObj.method !== undefined && requestObj.method !== null ){
method = requestObj.method;
}
}
xhr.open(method, downloadUrl, true);
// 需要token時這麼處理
// xhr.setRequestHeader("USER-TOKEN", getCookie('token'));
xhr.onload = function() {
if(this.status === 200){
// 擷取響應檔案流
var blob = this.response;
var reader = new FileReader();
// 轉為base64,可以直接放入a标簽href
reader.readAsDataURL(blob);
reader.onload = function(e) {
// 轉換完成,建立一個a标簽用于下載下傳
var a = document.createElement('a');
a.download = fileName;
a.href = e.target.result;
// $("body").append(a);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
// $(a).remove();
}
}
}
xhr.send();
}