Node.js 如何保存<;MongoDB中的16mb图像文件?
我需要用Node.js将用户上传的图像保存在db中。 在Mongo文档中,如果试图保存的文件大于16mb,则使用gridFS 我还找到了将该文件另存为binData的方法,但不太了解该选项的工作原理 如有任何建议,我们将不胜感激。我们非常清楚这一点: 要将路径声明为缓冲区,可以使用缓冲区全局构造函数或字符串“Buffer”Node.js 如何保存<;MongoDB中的16mb图像文件?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我需要用Node.js将用户上传的图像保存在db中。 在Mongo文档中,如果试图保存的文件大于16mb,则使用gridFS 我还找到了将该文件另存为binData的方法,但不太了解该选项的工作原理 如有任何建议,我们将不胜感激。我们非常清楚这一点: 要将路径声明为缓冲区,可以使用缓冲区全局构造函数或字符串“Buffer” const schema1 = new Schema({ binData: Buffer }); // binData will be cast to a Buffer co
const schema1 = new Schema({ binData: Buffer }); // binData will be cast to a Buffer
const schema2 = new Schema({ binData: 'Buffer' }); // Equivalent
const Data = mongoose.model('Data', schema2);
请注意,16mb限制适用于整个文档,而不仅仅是图像 实际上,您可以尝试这种替代方法 如果您的文件实际上小于16 mb,请尝试使用此转换器,将jpeg/png格式的图像更改为保存到mongodb的格式,您可以将其视为gridfs的简单替代方案 主要目标是将图像转换为另一种格式(Base-64),然后将其存储在mongoDB中 我已经在github回购中发布了完整的指南,请查看它们