【发布时间】:2021-11-28 07:29:38
【问题描述】:
我正在使用 ReactJS,我需要在我的前端提供一些图片,我无法通过以下方式做到这一点 <img alt="" src={process.env.PUBLIC_URL + image + ".png" } /> 因为我将提供超过 2 张以特定关键字开头的图片,所以我我想这样做
dir= '../../public/images/'
files= fs.readdirSync(dir)
for (const file of files) {
if(file.startsWith(keyword))
{
setPictureName(dir+file+ ".png")
}
}
不幸的是我不能在客户端使用'fs'模块,所以我迷路了,我应该在后端进行处理然后发送那些图片吗?如果还没有怎么做,我很乐意收到其他建议。
【问题讨论】:
-
您不能也不应该从文件系统中获取数据。假设您使用的是 CreateReactApp,您需要将文件放在您的公用文件夹中。然后只需操纵 src 以指向您想要的任何图像。如果您想要所有图片的列表,您可以在 FE 中预先定义它,或者如果它是动态的,则创建一个为您提供此列表的后端 API。
-
@正如你所说,我不应该从文件系统中获取数据。那么如何创建这个 API 呢?你能举一些我可以从哪里开始的例子吗
-
如果图像是动态的,您将如何将图像上传到公用文件夹? API 是一个完整的后端应用程序,需要大量工作,需要托管等。如果您手动添加图像,只需将它们的名称保存在 FE 某处的 const 数组中。