|
@ -67,42 +67,56 @@ export const downloadonlinePreview = async (url, fileName,parameter) =>{ |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
export const downloadResource = async (url, fileName,parameter) =>{ |
|
|
export const downloadResource = async (url, fileName,parameter) =>{ |
|
|
// let originUrl="http://localhost:3100"+apiUrl + url+"?path="+parameter.path+"&fileName="+parameter.fileName
|
|
|
return getFileblob(url, parameter).then((data) => { |
|
|
// let previewUrl = originUrl + "&fullfilename=" + parameter.fileName; //带上文件名(带后缀)
|
|
|
if (!data || data.size === 0) { |
|
|
|
|
|
message.warning('文件下载失败'); |
|
|
// window.open( 'http://218.246.6.173:9002' + "/onlinePreview?url=" + encodeURIComponent(Base64.encode(previewUrl)))
|
|
|
return; |
|
|
url = apiUrl + url+"?path="+encodeURIComponent(parameter.path)+"&fileName="+parameter.fileName |
|
|
} |
|
|
console.log(apiUrl ,url,'previewUrl') |
|
|
if (typeof window.navigator.msSaveBlob !== 'undefined') { |
|
|
let filename = fileName |
|
|
window.navigator.msSaveBlob(new Blob([data]), fileName); |
|
|
if (!fileName) { |
|
|
} else { |
|
|
filename = url.substring(url.lastIndexOf('/') + 1); |
|
|
let url = window.URL.createObjectURL(new Blob([data])); |
|
|
} |
|
|
let link = document.createElement('a'); |
|
|
console.log(filename,'filename') |
|
|
link.style.display = 'none'; |
|
|
return fetch(url, { |
|
|
link.href = url; |
|
|
method: 'GET', |
|
|
link.setAttribute('download', fileName); |
|
|
cache: 'no-cache', |
|
|
document.body.appendChild(link); |
|
|
headers:{ |
|
|
link.click(); |
|
|
Authorization: `Bearer ${getToken()}`, |
|
|
document.body.removeChild(link); //下载完成移除元素
|
|
|
// clientId: clientId,
|
|
|
window.URL.revokeObjectURL(url); //释放掉blob对象window.btoa(unescape(encodeURIComponent('我是一段需要处理的字符')))
|
|
|
}, |
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
// console.log(apiUrl ,url,'previewUrl')
|
|
|
|
|
|
// let filename = fileName
|
|
|
|
|
|
// if (!fileName) {
|
|
|
|
|
|
// filename = url.substring(url.lastIndexOf('/') + 1);
|
|
|
|
|
|
// }
|
|
|
|
|
|
// console.log(filename,'filename')
|
|
|
|
|
|
// return fetch(url, {
|
|
|
|
|
|
// method: 'GET',
|
|
|
|
|
|
// cache: 'no-cache',
|
|
|
|
|
|
// headers:{
|
|
|
|
|
|
// Authorization: `Bearer ${getToken()}`,
|
|
|
|
|
|
// // clientId: clientId,
|
|
|
|
|
|
// },
|
|
|
|
|
|
|
|
|
}).then(res => { |
|
|
// }).then(res => {
|
|
|
const fileStream = streamSaver.createWriteStream(filename,{ |
|
|
// const fileStream = streamSaver.createWriteStream(filename,{
|
|
|
//增加小视图,体现下载进度条与总大小
|
|
|
// //增加小视图,体现下载进度条与总大小
|
|
|
size : res.headers.get("content-length") |
|
|
// size : res.headers.get("content-length")
|
|
|
}) |
|
|
// })
|
|
|
const readableStream = res.body |
|
|
// const readableStream = res.body
|
|
|
if (window.WritableStream && readableStream.pipeTo) { |
|
|
// if (window.WritableStream && readableStream.pipeTo) {
|
|
|
return readableStream.pipeTo(fileStream) |
|
|
// return readableStream.pipeTo(fileStream)
|
|
|
} |
|
|
// }
|
|
|
window.writer = fileStream.getWriter() |
|
|
// window.writer = fileStream.getWriter()
|
|
|
const reader = res.body.getReader() |
|
|
// const reader = res.body.getReader()
|
|
|
const pump = () => reader.read() |
|
|
// const pump = () => reader.read()
|
|
|
.then(res => res.done |
|
|
// .then(res => res.done
|
|
|
? window.writer.close() |
|
|
// ? window.writer.close()
|
|
|
: window.writer.write(res.value).then(pump)) |
|
|
// : window.writer.write(res.value).then(pump))
|
|
|
pump() |
|
|
// pump()
|
|
|
}) |
|
|
// })
|
|
|
} |
|
|
} |
|
|
/** |
|
|
/** |
|
|
* 下载文件 用于excel导出 |
|
|
* 下载文件 用于excel导出 |
|
|