React-pdf 从磁盘加载文件但不加载 url

dou*_*air 2 javascript reactjs react-pdf

我使用create-react应用程序构建了一个react应用程序,该应用程序使用react-pdf显示pdf。当我输入引用磁盘上文件的文件名时,此方法工作正常,但在输入 url 时收到“无法加载 PDF”错误。我尝试了多个网址,但都失败了。在控制台中,我还收到以下警告,该警告来自一些谷歌搜索,似乎指的是 webpack 不兼容,尽管无论我尝试显示的文件类型如何,我都会收到它:

./node_modules/pdfjs-dist/build/pdf.js 关键依赖:require函数的使用方式无法静态提取依赖

我使用以下版本:react-pdf (4.1.10)、reacts-scripts (3.0.1) webpack (4.29.6)、react (16.12.0)。

我还按照建议在代码顶部进行了以下导入等操作:

import React, { Component } from 'react';
import { Document, Page, pdfjs } from 'react-pdf';

pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;

Run Code Online (Sandbox Code Playgroud)

似乎其他人也遇到过这个问题,但很难找到解决方案。我尝试显示的文件示例是: file="https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"

任何帮助表示赞赏!

Dav*_*atu 8

我不知道它是否仍然有帮助,但我今天遇到了这个问题。解决方案是将一个对象传递给组件file内的 prop Document

<Document
    file={{
      url:
        'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf',
    }}
    onLoadSuccess={onDocumentLoadSuccess}
>
Run Code Online (Sandbox Code Playgroud)