- 图片预览:
后端下发的数据长这样,是个二进制的文件。
解决方案:
export function download(data) { return request({ baseURL: process.env.VUE_APP_BASE_URL, url: '/xxx/xxx', method: 'post', responseType: 'blob', //这里是重点 data }) }
- pdf预览:
pdf的预览有2种状况:
getFile({ id: item.uid }, '/common/preview').then(res => { const binaryData = []; binaryData.push(res); // console.log(binaryData); //获取blob链接 var pdfUrl = window.URL.createObjectURL(new Blob(binaryData, { type: 'application/pdf' })); window.open(pdfUrl); // this.$router.push({ 'path': '/pdf', query: { url: Base64.encode(src) } }) }).catch(() => { }) },
还有一种是:(这种状况,打印进去后端申请的数据)
后端下发的是xml模式的数据,这种的就能够间接window.open关上,谷歌测试没有问题
window.open(process.env.VUE_APP_BASE_URL+ 'xxx/preview?Id='+id)
参考文档:
https://blog.csdn.net/CSDN_ba...