Node.js 我应该如何在NodeJS中存储文件 我是Nodejs的新手,正在研究如何在Nodejs中使用Multer上传文件。我看到大部分教程只在一个静态的“公共”文件夹中存储各种文件(音频、头像照片、横幅照片、文本、PDF等等) 我的第一个问题:这是在后端存储文件的最佳方式吗?我应该为特定用户创建一个子文件夹来存储该用户的所有文件(例如:User1Folder、User2Folder)还是为一类文件(例如:PDFFolder、AvatarFolder等)创建一个子文件夹 我的第二个问题:我是否应该创建这样的文件模型: 文件{ id:“”, 姓名:“, 上载日期:“, ... } 然后将其保存到数据库中 静态公用文件夹应该是您唯一公开的文件夹,因此在 感觉你做对了 不,我将使用AWS S3这样的外部服务来存储用户资产。您决定的文件夹模式完全取决于您计划为用户存储哪些资产。通过这种方式,您可以轻松地调试、维护健全性,并能够移动到其他服务器。您可以在服务器之间分割用户吗?我将画出您期望的文件类型树,并思考应用程序中哪种模式最灵活。我倾向于类型,因为有些文件的处理方式与其他文件不同。您也不希望非活动用户提供数百个几乎为空的文件夹 对。还包括服务器上的文件路径,以便以后重新使用。我还会考虑将文件的命名约定作为备份标识符。也许像userid\u date\u avatar.jpg这样的东西

Node.js 我应该如何在NodeJS中存储文件 我是Nodejs的新手,正在研究如何在Nodejs中使用Multer上传文件。我看到大部分教程只在一个静态的“公共”文件夹中存储各种文件(音频、头像照片、横幅照片、文本、PDF等等) 我的第一个问题:这是在后端存储文件的最佳方式吗?我应该为特定用户创建一个子文件夹来存储该用户的所有文件(例如:User1Folder、User2Folder)还是为一类文件(例如:PDFFolder、AvatarFolder等)创建一个子文件夹 我的第二个问题:我是否应该创建这样的文件模型: 文件{ id:“”, 姓名:“, 上载日期:“, ... } 然后将其保存到数据库中 静态公用文件夹应该是您唯一公开的文件夹,因此在 感觉你做对了 不,我将使用AWS S3这样的外部服务来存储用户资产。您决定的文件夹模式完全取决于您计划为用户存储哪些资产。通过这种方式,您可以轻松地调试、维护健全性,并能够移动到其他服务器。您可以在服务器之间分割用户吗?我将画出您期望的文件类型树,并思考应用程序中哪种模式最灵活。我倾向于类型,因为有些文件的处理方式与其他文件不同。您也不希望非活动用户提供数百个几乎为空的文件夹 对。还包括服务器上的文件路径,以便以后重新使用。我还会考虑将文件的命名约定作为备份标识符。也许像userid\u date\u avatar.jpg这样的东西,node.js,mongodb,express,nodes,file-management,Node.js,Mongodb,Express,Nodes,File Management,{ 身份证号码:12345, 路径:“s3://app\u name/users/assets/images/5543\u 01\u 31\u 2019\u 10\u 05\u 33\u avatar.jpg”, 上传:“01-31-2019_10:05:33” }公司通常会选择第三方或单独的存储服务,以优化文件存储。有些是免费试用计划,如aws-s3、谷歌的gcs、azure等 但是,如果真的要在我们自己的服务中存储文件,那么将所有文件放在同一个文件夹(平面文件目录)中并通过将文件附加到相应的

{
身份证号码:12345,
路径:“s3://app\u name/users/assets/images/5543\u 01\u 31\u 2019\u 10\u 05\u 33\u avatar.jpg”,
上传:“01-31-2019_10:05:33”

}

公司通常会选择第三方或单独的存储服务,以优化文件存储。有些是免费试用计划,如aws-s3、谷歌的gcs、azure等

但是,如果真的要在我们自己的服务中存储文件,那么将所有文件放在同一个文件夹(平面文件目录)中并通过将文件附加到相应的模型来进行文件分类就足够了。 在数据中放入类似的内容:
{“用户名”:“arege”,“姓名”:“Arle Greg”,“个人资料图片文件”:“timestamp\u somehash.png”}


对于第二个问题,如果您的服务通常需要记录所有上传文件类型的日期,那么最好有这种模型。但是,如果它仅用于服务中的一小部分文件类型,则可以将其与文件链接一起写入相应的模型。

非常感谢。真的很有帮助,非常感谢。这真的很有帮助。