要求:处理图像文件上传。在这里,使用express和node.js.使用busboy包在文件中接收二进制数据。
我的问题是如何从文件接收二进制数据到本地变量以插入mongo db。
var binaryData = "";
var busboy = new Busboy({ headers: req.headers });
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
console.log('File [' + fieldname + ']: filename: ' + filename + ', encoding: ' + encoding + ', mimetype: ' + mimetype);
file.pipe(/********want to receive binary data to binaryData************/);
});
如何将二进制数据转换为binaryData变量?
接收文件内容以直接在mongodb(而不是gridfs)上写入的任何替代方法。
谢谢。
答案 0 :(得分:1)
您可以管道到任何可写流,或者如果您想自己处理数据(出于缓冲目的或其他目的),您可以使用“数据”和“结束”事件或使用file.read()
和'可读'手动从流中读取数据的事件。 file
流中的数据通常是二进制文件,但您必须检查encoding
和/或mimetype
才能确定。