当我修改 mongo 数据库时,我该如何上传图片?? (node.js, 多个)
When i modify the mongo db, how can i upload the image?? (node.js, multer)
当mongodb改变(更新)时,如果图像改变了,改变db(图像路径)并上传图像并删除图像(之前),如果没有,只上传图像。 .
router.put('/test/update/:first_idx/:second_idx', isAuthenticated, upload.array('images', 5), TestController.updateSomthing)
upload.array('images'
) 在此我可以根据 req.body
保存或删除图像吗?
在将图像保存到 MongoDB 之前需要考虑的一件非常重要的事情是文档大小限制。一个文档最多只能有 16MB。如果您允许图像数组,尤其是当数组变得太大时,您可能 运行 会遇到大小限制问题。
您可以找到有关此限制的更多信息 here。
要绕过此大小限制,请将文件的相对路径存储在服务器上,并将文件存储在文件夹中。
这是一个教程,介绍如何使用 Multer/MongoDB 创建您想要的 file store。如果您想继续将文件存储在数据库中并进行比较,本教程将为您奠定基础。您可以将图像存储在 Base64 中,然后在上传时检查是否存在具有该 base64 字符串的另一张图像。如果是,请不要保存它。这是假设通过比较图像,你的意思是检查是否存在完全相同的图像。
我认为比较图像以确保它们相等不会很有效,因为这听起来计算量很大。我只会对每个 PUT 进行完全重写(除非你不得不担心并发性)。
当mongodb改变(更新)时,如果图像改变了,改变db(图像路径)并上传图像并删除图像(之前),如果没有,只上传图像。 .
router.put('/test/update/:first_idx/:second_idx', isAuthenticated, upload.array('images', 5), TestController.updateSomthing)
upload.array('images'
) 在此我可以根据 req.body
保存或删除图像吗?
在将图像保存到 MongoDB 之前需要考虑的一件非常重要的事情是文档大小限制。一个文档最多只能有 16MB。如果您允许图像数组,尤其是当数组变得太大时,您可能 运行 会遇到大小限制问题。
您可以找到有关此限制的更多信息 here。
要绕过此大小限制,请将文件的相对路径存储在服务器上,并将文件存储在文件夹中。
这是一个教程,介绍如何使用 Multer/MongoDB 创建您想要的 file store。如果您想继续将文件存储在数据库中并进行比较,本教程将为您奠定基础。您可以将图像存储在 Base64 中,然后在上传时检查是否存在具有该 base64 字符串的另一张图像。如果是,请不要保存它。这是假设通过比较图像,你的意思是检查是否存在完全相同的图像。
我认为比较图像以确保它们相等不会很有效,因为这听起来计算量很大。我只会对每个 PUT 进行完全重写(除非你不得不担心并发性)。