【问题标题】:How can I open a local PDF file in another browser tab using React?如何使用 React 在另一个浏览器选项卡中打开本地 PDF 文件?
【发布时间】:2021-08-19 01:35:15
【问题描述】:

我有一个导航栏链接,我想在浏览器中打开一个 pdf。我正在使用由 create-react-app 创建的 React

我的文件夹如下所示:

|site
  L build
  L public
  L src
   L assets
    L file.pdf
   L components
    L navbar

在导航栏组件中,我的代码看起来像(我遵循了这个答案:React - How to open PDF file as a href target blank

import pdf from "../assets/file.pdf"
<a href={pdf} target="_blank">File Link</a>

在我的本地主机上,它打开,但在我部署的网站上,它进入 404。我还尝试了得到相同 404 错误的根路径(“src/assets/file.pdf”)。我也尝试过这个解决方案 (How do I link to local pdf file in a create-react-app project?),但我的 React 应用程序错误 & 无法在 src/ 文件夹之外找到路径

【问题讨论】:

  • 如果您将assets 文件夹放入public 文件夹中,然后您可以简单地放入href /assets/file.pdf。我相信这应该可行。
  • 我的终端出现编译失败错误“找不到模块:您试图导入项目 src/ 目录之外的 /assets/file.pdf。src/ 之外的相对导入是不支持。”
  • 在将assets 文件夹移至公共文件夹后,您是否尝试过这样的&lt;a href={"/assets/file.pdf"} target="_blank"&gt;File Link&lt;/a&gt;
  • 我更新了导入路径,但没有尝试直接将链接添加到href。有区别吗?
  • 是的,通过使用 href,您将被重定向到在您的网络应用程序中作为静态文件提供的 pdf。

标签: reactjs pdf


【解决方案1】:

如果你想访问develop webSite中的文件你必须在public文件夹中输入文件

【讨论】:

  • 我尝试将文件直接放在 public/ 文件夹中,并将整个 assets/ 文件夹移动到 public/ 但每次编译失败,因为 href 无法找到导入跨度>
  • 你使用TS文件吗?
  • 我不熟悉 TS 文件。根据我的快速谷歌搜索,它是一种存储视频的文件格式?
  • 我的意思是打字稿文件
猜你喜欢
  • 2016-05-04
  • 1970-01-01
  • 2021-03-25
  • 2014-02-18
  • 1970-01-01
  • 2016-09-24
  • 2022-11-26
  • 2014-03-01
  • 2020-08-28
相关资源
最近更新 更多