我们将 PDF 文件存储在 AWS S3 之上,并通过 Cloudfront 访问它。要访问 PDF 文件,我必须调用 api:/api/preview-file/30.json
但在 chrome 和 firefox 上出现错误:“MissingPDFException”,但在 Safari 上一切正常,这令人困惑。我已经搜索但没有答案,期待您的帮助。谢谢!
配置:
- Web 浏览器及其版本:Chrome 版本 89.0.4389.114(官方构建)(x86_64)、Firefox 87.0(64 位)
- 操作系统及其版本:Mac OS High Sierra 10.13.6
- PDF.js 版本:2.6.347
什么地方出了错?(添加截图)
- 火狐:
- 铬合金:
我的代码:PreviewFile.vue
import * as pdfjsLib from 'pdfjs-dist'
import * as pdfjsWorker from 'pdfjs-dist/build/pdf.worker.entry'
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsWorker
export default {
name: 'PreviewFile',
mounted () {
// const url = this.$route.query.q
pdfjsLib.getDocument('/api/preview-file/30.json').promise.then(pdf => {
const viewer = document.getElementById('pdf-viewer')
for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) {
const canvas = document.createElement('canvas')
canvas.className = 'pdf-page-canvas'
viewer.appendChild(canvas)
pdf.getPage(pageNum).then(page => {
const viewport = page.getViewport({ scale: 2 })
canvas.height = viewport.height
canvas.width = viewport.width
page.render({ canvasContext: canvas.getContext('2d'), viewport: viewport })
})
}
})
}
}
火狐上的网络:404
Safari 网络:好的