有一个现成的pdf的url, 通过js下载打开总是空白内容, 尝试各种方法都无效, 求助
有一个现成的pdf链接, https://vkceyugu.cdn.bspapp.c...。
本身是通过a标签可以直接访问, 但现在的需求是 点击a标签 直接后下载, 而不是直接打开。
- 尝试在a标签里+ download 因为跨域所以无效。
- 所以转成了blob, 但是不管怎么下载都是空白, 网上方法全试了, 特来求助。
import axios from 'axios'// 下载pdf
toDownLoadPdf(url, fileName) {
axios({
method: 'GET',
url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-8e76dff9-ce38-4577-9e5c-398943705060/a5b050b8-3fa1-4436-b231-7b40725de731.pdf',
responseType: 'blob' // 网上搜到的方法
})
.then((res) => {
const blob = new Blob([res.data], {
type: 'application/pdf' // 网上搜到的方法
})
const link = document.createElement('a')
link.href = URL.createObjectURL(blob)
link.download = fileName
link.click()
URL.revokeObjectURL(link.href)
})
.catch(console.error)
}
https://segmentfault.com/a/11... 另外我把这文章里的代码完全抄过去了, 他提供的pdf也是空白
回答:
给你的到底是页面地址,还是文件地址?
回答:
尝试在a标签里+ download 因为跨域所以无效。 如果是跨域的话.在服nginx端做个代理转发
location /filedown/ {
proxy_pass https://vkceyugu.cdn.bspapp.com;
}
配置好代理之后你得文件路径修改为
https://你得域名/filedown/VKCEYUGU-8e76dff9-ce38-4577-9e5c-398943705060/a5b050b8-3fa1-4436-b231-7b40725de731.pdf
差不多就是这样 试试吧
回答:
同样的问题
请求时
responseType: 'arraybuffer'
还有就是new Blob([res]) 应该没有data
以上是 有一个现成的pdf的url, 通过js下载打开总是空白内容, 尝试各种方法都无效, 求助 的全部内容, 来源链接: utcz.com/p/937258.html