我想通过BinData type上传小于16MB的小文件到MongoDB,我知道这是小文件的唯一默认选项,而GRIDFS最适合用于超过16MB的文件。
不幸的是,我很难在没有GridFS的情况下在MongoDB docs上获得适当的文档和上传文件的例子。我找到的关于BinData类型的信息要么非常有限,要么我无法理解。在这里(大多数是基于python的)和其他地方经历了几个类似的问题,我对BinData的用法有了一些了解,但我仍然无法以这种方式成功上传文件。
我需要更多关于通过BinData上传文件的信息,特别是正确的初始化方式,因为我通常会得到BinData not a function或BinData is not defined错误。下面是我正在测试功能的当前代码:
import { Meteor } from "meteor/meteor";
import { Mongo } from "meteor/mongo";
export const Attachment = new Mongo.Collection("attachment");
let BinData = Mongo.BinData; //wrong initialisation
function createAttachment(fileData) {
const data = new Buffer(fileData, "base64");
Attachment.insert({file: new BinData(0, data)});
}一些有用的链接:
BSON spec
发布于 2017-09-06 14:21:32
有几个Meteor包可以用来上传文件。
我自己也用过这个,https://atmospherejs.com/vsivsi/file-collection
它可以将你的文件存储在gridfs中,并提供用于检索图像等的urls
另外:
https://atmospherejs.com/jalik/ufs https://atmospherejs.com/ostrio/files
https://stackoverflow.com/questions/46054284
复制相似问题