如何在 Next.js 中使用react-file-viewer导入PDF文件?

2023-11-21

我想在 Next.js 中使用文件查看器,但收到此错误:

./public/pdf.pdf 模块解析失败:意外的标记 (1:0) 您可能 需要一个合适的加载器来处理这种文件类型,目前没有 加载程序配置为处理此文件。看
>%PDF-1.3
| %����
|

我怎么解决这个问题?

my code:

import FileViewer from "react-file-viewer/src/components";
import pdf from "../../../public/pdf.pdf"

...(in component)

 {openFileViewer ? <FileViewer fileType="pdf" filePath={pdf}  /> : null}

由于您的 PDF 文件位于public文件夹中,您可以直接在其中引用图像的路径filePath prop.

您还需要确保react-file-viewer仅在浏览器中导入,因为它取决于window在场才能正常工作。您可以通过动态导入组件来做到这一点next/dynamic with ssr: false.

import dynamic from 'next/dynamic';

const FileViewer = dynamic(() => import('react-file-viewer'), {
    ssr: false
});

export default function Index() {
    return (
        <FileViewer fileType="pdf" filePath="/pdf.pdf" />
    );
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Next.js 中使用react-file-viewer导入PDF文件? 的相关文章

随机推荐

  • 将 Twitter Bootstrap 不可关闭模态转换为可关闭模态

    我正在使用 Twitter Bootstrap 创建一个无法关闭的模式 这是故意的 但是 十秒后 我希望用户能够通过按转义键或单击模式外部来关闭模式 这可以做到吗 这是示例代码
  • 二元矩阵向量乘法

    我想乘以 8x8binary矩阵由无符号字符表示的 8 位向量表示为无符号 64 位整数 然而 由于其他一些问题 矩阵must be按列排序 因此没有简单的字节匹配来轻松乘法 知道如何加快这样的计算吗 每一次操作都很重要 因为我需要进行数十
  • 将镜像从 docker 注册表克隆到另一个

    我有一个包含一组图像的私人注册表 它可以被视为应用程序存储 我的应用程序可以获取这些应用程序并在其他计算机上运行它们 为了实现这一目标 我的应用程序首先从私有注册表中提取映像 然后将其复制到本地注册表以供以后使用 步骤如下 docker p
  • 字符串插值 - 重复[重复]

    这个问题在这里已经有答案了 有没有办法多次插入变量而不重复 例如 var name bla Console WriteLine foo name repeat 2 bar to print foo blabla bar 我对插值几个特别感兴
  • 如何使用Visual Studio 2013将带有sql本地db数据库的网站发布到azure

    我的网站已在本地服务器上启动并运行 我想将其发布到天蓝色 我搜索了很多 但无法这样做 但在没有数据库的情况下成功发布 任何人都可以提供一步一步的指南如何发布到azure以及从azure管理门户下载哪些工具 谢谢 尝试这个http www a
  • 如何连接多个 IObservable 序列?

    var a Observable Range 0 10 var b Observable Range 5 10 var zip a Zip b x y gt x y zip Subscribe Console WriteLine Print
  • WPF StringFormat={0:C} 显示为美元

    为什么这行代码
  • 远程调试在 Glassfish 中运行的 Java Web 应用程序

    我有一个网络应用程序 它当前部署在 Glassfish 实例中的远程服务器上 是否可以使用 Netbeans 远程连接到服务器并调试应用程序 就像我调试普通的 java 应用程序一样 如果有人做到了这一点并且可以提供见解或可以为我提供指导
  • search.twitter.com 的“热门话题”算法是什么?

    Twitter 使用什么算法来确定您可以看到的 10 个主题搜索 twitter com 我想实现该算法 并且还想展示 50 个最热门的主题 而不是 10 个 你能描述一下最有效的算法吗 Thanks Twitter 的 API 可以在以下
  • 如何在 kivy 应用程序退出时运行方法

    我想在用户尝试退出应用程序时运行一个方法 有点像每当用户尝试通过单击退出时出现 您确定要退出吗 或 您想保存文件吗 类型的消息窗口顶部的退出按钮 就像是on quit app root saveSession 如果您希望应用程序在 GUI
  • Rails 中 RESTful 路由的更新操作(PATCH 或 PUT)

    我是 Ruby on Rails 的新手 为什么 Rails 中 RESTful 路由的更新操作映射到两个 HTTP 动词 即 PATCH 和 PUT PATCH articles id format articles update PUT
  • PHP 致命错误:调用时传递引用已被删除

    我有一个旧的脚本 最近我收到此错误 Fatal error Call time pass by reference has been removed in public html cp list summary php on line 10
  • 关于so​​cket监听和backlog的问题

    我正在用 C 编写一个需要处理传入连接的应用程序 但我以前从未进行过服务器端编程 这让我想到以下问题 高积压 低积压的优缺点 为什么我们不应该将积压订单设置为一个巨大的数字 如果我调用 Socket Listen 10 10 个 Accep
  • 使用 Codeigniter 制作面包屑的最佳方法是什么?

    我想知道用 Codeigniter 制作面包屑的最佳方法是什么 1 通过URL检索字符串 例子 this gt uri gt segment 2 2 你知道另一种方法吗 我真的很想听听你的意见 URL 段的使用取决于您的 URL 结构 并不
  • 为什么 Microsoft Edge 可以打开一些本地网站,但不能打开其他网站,这些网站的域名在主机文件中路由到 127.0.0.1

    像许多程序员一样 我在本地测试站点 我使用hosts文件将域名映射到我的本地ip 127 0 0 1 我使用合格的域名 通常带有 d 子域 用于 开发 例如 d somewebsite com d anotherwebsite com an
  • 一定范围内的随机数C++[重复]

    这个问题在这里已经有答案了 可能的重复 在整个范围内均匀生成随机数 我想在 C 中生成一定范围内的随机数 比如说我想要 25 到 63 之间的数字 我怎么能拥有那个呢 由于还没有人发布现代 C 方法 include
  • 按组每列的唯一值数量

    考虑以下数据框 A B E 0 bar one 1 1 bar three 1 2 flux six 1 3 flux three 2 4 foo five 2 5 foo one 1 6 foo two 1 7 foo two 2 我想找
  • 如何在 SQL 2005 Reporting Services 报表的标题中显示数据?

    开箱即用的 SSRS 报告不能在页眉中公开数据 有没有办法让这些数据显示出来 我在报告中想要的一件事是为我的报告提供漂亮的标题 我喜欢显示徽标和用户的报告参数以及其他数据 以便为报告需要澄清的业务需求提供更多信息 Microsoft SQL
  • git pre receive hook 来检查提交消息

    我正在尝试编写一个预接收挂钩来使用 bash shell 检查提交消息的模式 如果任何提交有问题 我想拒绝整个推送 如何检索提交消息 git 文档中有一个包含解释的完整示例 涵盖了这一点 链接到示例 粗略地翻译一下 ruby 示例 我们有
  • 如何在 Next.js 中使用react-file-viewer导入PDF文件?

    我想在 Next js 中使用文件查看器 但收到此错误 public pdf pdf 模块解析失败 意外的标记 1 0 您可能 需要一个合适的加载器来处理这种文件类型 目前没有 加载程序配置为处理此文件 看 gt PDF 1 3 我怎么解决