我想在我的公共文件夹(react项目)中放置一个示例 xlsx 文件,其他人可以下载此文件。
<Button><link rel="chargeSample" href="%PUBLIC_URL%/chargeSample.xlsx"></link></Button>
我怎样才能做到这一点?
我想在我的公共文件夹(react项目)中放置一个示例 xlsx 文件,其他人可以下载此文件。
<Button><link rel="chargeSample" href="%PUBLIC_URL%/chargeSample.xlsx"></link></Button>
我怎样才能做到这一点?
该标签定义了文档和外部资源之间的链接。要在您的网站上下载功能,您应该更改链接标签
import chargeSample from './public/chargeSample.xlsx';
<Button><a href={chargeSample} download="your file name">Download</a></Button>
如果您使用的是 creat react app,则可以在构建时通过使用将公共路径传递到您的组件中
process.env.PUBLIC_URL
首先,我们必须考虑你存储文件的位置,考虑 react 在构建时会做什么。在开发中,您不能 100% 相信您使用的路径在构建应用程序后会相同。 这里在创建应用程序的reactDOC有关于何时使用公共文件夹,以及如何使用它的一些信息。
要下载存储在公共文件夹中的文件,您必须使用 PUBLIC_URL 引用它。有两种方法可以做到这一点:
从公用文件夹中引用文件
您将必须使用 de%PUBLIC_URL%
如您所提到的。例如,如果您想在主 HTML 文件中使用收藏夹图标,您必须在公共文件夹中添加该图标,然后在index.html
您将使用%PUBLIC_URL%
前缀引用此文件。
// public/index.html
// ...other stuff
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico" />
// ...
在构建时,React 会用该文件夹的路径替换这个哈希值
引用 src 文件夹中的文件
要从src 文件夹中引用文件,您必须访问公共文件夹 URL。React 将此路径保存在环境变量中。为了能够使用该文件,您必须使用process.env.PUBLIC_URL
路径。
要从公共文件夹下载文件,您可以像这样访问它:
<a
href={process.env.PUBLIC_URL + "/my-file.txt"}
download={"file-name-to-use.txt"}
>
Download file
</a>
单击锚标记时,它会尝试下载/public
以该名称存储的文件my-file.txt
,并将使用download
属性中指定的名称作为该文件的占位符名称。