数据库中存储用户头像和其他图像的位置

问题描述

这是没有代码的理论问题。我将很感谢您的回答(:我用Node js,MongoDB,React(当然是express,mongoose等)创建了应用程序,因此我有一个用户模型用于数据库,其中User Image字段为type我使用 Multer 软件包提供了一些逻辑来处理此类事情。过去,我可以从桌面上选择图片,然后将特定大小的图片加载到 images 文件夹中在node js服务器上(此文件夹包含我应用程序的所有图像,是的,它可以正常工作,没有错误。)但是最近我用React重建了我的应用程序,这是一个问题:无法在src文件夹之外获取图像。我在Google中搜索解决方案,发现用户图像可以存储在Amazon S3或Google Storage和其他“存储服务”中。在我的数据库中,我有标题模型用于存储动漫信息(例如:名称,播出时间,季节,来源(用于播放播放器中的内容),当然还有图像)数据库中的所有图像均在字符串中格式,因此我只需获取图像名称,然后粘贴到动态路径中,它就会从images文件夹返回我的图像。反应迫使我考虑这种事情。因此,我有一个问题:为我的标题模型和用户模型存储图像的最佳方法是什么?如果,例如在Google存储空间中,如何使用React进行处理?(我真正想要的是仅加载一次用户图片,或者用户将在其个人资料中对其进行更改。因为现在,它正在获取图片每次重新发布组件时,都从存储中访问)。

解决方法

所以,伙计们,我发现自己将诸如图像之类的数据存储在诸如Amazon S3之类的文件中。为什么?因为当我在生产中拥有包含用户图像的文件夹并且必须更改一些代码时,我需要重新构建应用程序并再次进行部署。而且此新版本不会包含用户已保存在文件夹中的图像,因为我上载了新的一个文件夹并替换了旧的文件夹。当然,有多种方法可以解决此类问题,但是当您将数据存储在S3存储中(在我的情况下,您可以找到不同的存储),则无需考虑如何从旧文件夹等中获取旧图像。只需从存储中获取它们即可。