Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 创建react应用程序:我应该将动态上传的图像放在哪里?_Image_Reactjs_Express_Upload_Create React App - Fatal编程技术网

Image 创建react应用程序:我应该将动态上传的图像放在哪里?

Image 创建react应用程序:我应该将动态上传的图像放在哪里?,image,reactjs,express,upload,create-react-app,Image,Reactjs,Express,Upload,Create React App,大家好,我正在使用CreateReact应用程序,我已经设置了一个文件上载,允许将图像发送到后端并保存到本地(到项目构建目录)。我可以通过localhost:4000/image.png动态引用图像,这样就可以了(例如:我有一个博客,可以让我上传图像,以后可以通过博客列表访问) 然而,我认为这可能不是动态上传图像的最佳场所。我已经阅读了CreateReact应用程序上的文档,两个提到图像的位置似乎都不适合我的使用案例,我觉得我肯定做错了什么,但我不确定是什么 我指的是: 说使用“导入”,但我动态

大家好,我正在使用CreateReact应用程序,我已经设置了一个文件上载,允许将图像发送到后端并保存到本地(到项目构建目录)。我可以通过localhost:4000/image.png动态引用图像,这样就可以了(例如:我有一个博客,可以让我上传图像,以后可以通过博客列表访问)

然而,我认为这可能不是动态上传图像的最佳场所。我已经阅读了CreateReact应用程序上的文档,两个提到图像的位置似乎都不适合我的使用案例,我觉得我肯定做错了什么,但我不确定是什么

我指的是: 说使用“导入”,但我动态加载,所以我看不出这将如何工作?

说使用公共的,但是不需要重建吗?由于不可能动态加载im:

注意:我有一个图像上传和后端工作良好,它已经使用/build目录工作。我可以上传和动态参考图像。我只是在寻找这样做的最佳实践。谢谢
(如果您提到“只使用nginx”,请您详细说明一下实现过程)

作为一名学习者,我曾经努力解决这个问题,不久前尝试过不同的方法。对于很少使用的资产,使用/public For client可能会很有用,但我有一个客户端可以上传图像并管理它们的应用程序。和你一样,我也不喜欢这些方法,最终采用了这种设置

  • 在后端创建/public目录并将图像上载到/public/images
  • 使用Express静态服务/public目录
  • 对映像路径使用动态路径变量(通过配置设置)。用于开发和/或用于制作的公共/图像

我不知道这是最好的方法,但它对我很有效。除了在安装之前上传图像是最好的方法外,每次上传图像后CRA都会刷新(热重新加载)我的应用程序。

嘿,谢谢你让我放心,这似乎是正确的方法,我已经这样做了。:)不客气。人们通常建议使用外部图像处理程序、CDN或类似AmazonS3的存储,并返回图像路径的唯一url。我想使用一台服务器,最终得到了这个解决方案。很高兴它适合你。