使用iframe实现pdf文件预览功能
data () {
return {
url: '',
}
},
methods: {
downLoadFileImg (fileUrl, fileName) {// 后端文件地址和名称
// 可下载,名称也有效 -- 推荐
const x = new window.XMLHttpRequest()
x.open('GET', fileUrl, true)
x.responseType = 'blob' // 选择返回格式为blob --- 一般后端返回的是看不懂的文件流 故需要转成blob
x.onload = () => {
this.url = window.URL.createObjectURL(x.response) //将后端返回的blob文件读取出url
console.log('blob====',x.response) //Blob {size: 38617, type: 'application/pdf'}
console.log('url====',this.url) //blob:http://localhost:7197/cb047277-e5e6-4905-bf8c-dbecd86a0105
// url可以预览和下载------如果想要下载就把下方注释打开即可
// const a = document.createElement('a')
// a.href = this.url
// a.download = fileName
// a.click()
}
x.send()
// // 或者下方的方式
// axios({
// url: G_CGI_PHP.superOrder.upfile + "?id=" + this.rowData.id,
// method: 'get',
// timeout: 100000,
// responseType: 'blob',
// headers: {
// // "type": 'application/pdf'
// },
// }).then(res => {
// console.log('res.data', res.data)
// this.url = window.URL.createObjectURL(res.data) //将后端返回的blob文件读取出url
// console.log('通过读取blob文件得到url地址===', this.url)
// }).catch(error => {
// console.log(error)
// })
},
}