通过url下载文件方法export const downloadFileByUrl = async (url: string, isCurrentSite: boolean, onDownloadProgress?: (p?: string | number) => void, fileName?: string) => {
let _fileUrl = url
if (isCurrentSite) {
const temp = new URL(url)
_fileUrl = temp.pathname + temp.search
}
const fileBlob = await axiosInstance.get(_fileUrl, {
responseType: 'blob',
returnType: 'axios',
onDownloadProgress(event) {
onDownloadProgress?.(event.total ? event.loaded / event.total * 100 : 0)
},
})
downloadFileByBlob(fileBlob.data, fileName || fileBlob.headers.filename || fileBlob.headers?.['content-disposition']?.match?.(/filename=(.*)/)?.[1] || '下载')
}
展开
评论