- vue中使用upload组件上传
pdf
文件,拿到File
内容后,下载pdf文件到本地 - vue中根据url下载pdf文件到本地
File文件内容的格式
注意:如果使用iview
的upload
组件上,要获取File
文件,需要在before-upload
钩子上获取
async downloadPdf(name, url, file) {
// 下载file文件
if (文件是File文件) {
// 创建一个Blob对象
const blob = new Blob([file]); // file是File内容
// 创建一个指向Blob的URL
const pdfurl = window.URL.createObjectURL(blob);
// 创建一个<a>标签并模拟点击它来触发下载
const link = document.createElement('a');
link.href = pdfurl;
link.setAttribute('download', file.name); // 或者你可以设置为其他文件名
document.body.appendChild(link);
link.click();
// 清理
window.URL.revokeObjectURL(url);
document.body.removeChild(link);
return
}
// 下载文件url
const response = await axios({
url,
method: 'GET',
responseType: 'blob'
})
const pdfUrl = window.URL.createObjectURL(new Blob([response.data]))
const link = document.createElement('a')
link.href = pdfUrl
link.setAttribute('download', name)
document.body.appendChild(link)
link.click()
},