Next.js 如何访问上传到公用文件夹的文件?
Posted
技术标签:
【中文标题】Next.js 如何访问上传到公用文件夹的文件?【英文标题】:How to access files uploaded to the public folder in Next.js? 【发布时间】:2021-09-14 10:41:04 【问题描述】:我在 Next.js 中有一个项目。我有那个上传文件并在这个项目的公共 URL 中分享。
首先我使用npm run dev
将文件上传到public
文件夹并且工作正常,但是当我更改为npm run start
并上传文件时,文件上传到public
文件夹但使用URL http://mydomain/fileuploaded.jpg
它没有节目,很少见,但它就在那里。
我在互联网上搜索,但没有找到解决此问题的方法。
【问题讨论】:
好的,但很烦人,因为我在互联网上看到的所有示例都是将文件上传到public folder
:/
我也遇到了同样的问题,你解决了吗?
【参考方案1】:
来自Next.js documentation:
只有在构建时位于公共目录中的资产才会由 Next.js 提供服务。在运行时添加的文件将不可用。
如果您想在运行时在应用程序中访问上传的文件,则必须将它们保存在其他地方。
或者,您可以在 Next.js 中设置自己的 custom server,这样您就可以更好地控制 serve static files/assets。
您也可以改用 API 路由来实现类似的效果。详情请见Next.js serving static files that are not included in the build or source code。
【讨论】:
以上是关于Next.js 如何访问上传到公用文件夹的文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 formdata 将图像文件发送到 React/Next js api?
如何从资源文件夹动态加载资产到公用文件夹并使用asset()助手访问它们