我需要使用Node.js将用户上传的图像保存在db中。 在Mongo文档中,就是说要使用gridFS,以防您要保存的文件大于16mb。
我还找到了一种将该文件另存为binData的方法,但不太了解该选项的工作原理。
任何建议将不胜感激。
答案 0 :(得分:1)
docs非常清楚:
要将路径声明为Buffer,可以使用Buffer全局构造函数或字符串'Buffer'。
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的限制适用于整个文档,而不是仅用于图像。
答案 1 :(得分:0)
实际上您可以尝试这种替代方法
如果文件实际上小于16 mb,请尝试使用此Converter将jpeg / png格式的图像更改为保存为mongodb的格式,您可以将其视为gridfs的简便替代方法,
主要目标是将图像转换为另一种格式(Base-64),然后将其存储在mongoDB中
我已经在此github存储库中提供了完整的指南,请检查它们,