有一个现成的pdf的url, 通过js下载打开总是空白内容, 尝试各种方法都无效, 求助

有一个现成的pdf的url, 通过js下载打开总是空白内容, 尝试各种方法都无效, 求助

有一个现成的pdf链接, https://vkceyugu.cdn.bspapp.c...。
本身是通过a标签可以直接访问, 但现在的需求是 点击a标签 直接后下载, 而不是直接打开。

  1. 尝试在a标签里+ download 因为跨域所以无效。
  2. 所以转成了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

回到顶部