我正在使用bodyboy https://github.com/mscdex/connect-busboy 上传功能。基本上我不需要保存文件,它只是用户上传文件,我想将其保存到我的数据库中。
所以准确地说,如果有人能告诉我如何控制上传文件的内容
req.busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
console.log(fieldname)
console.log(file)
console.log(filename)
console.log('readin file')
});
在这里我怎样才能阅读文件,或者即使我需要更多步骤?
答案 0 :(得分:0)
实际上connect-busboy是busboy的连接中间件。
您可以使用以下示例代码
req.busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
console.log('File [' + fieldname + ']: filename: ' + filename + ', encoding: ' + encoding + ', mimetype: ' + mimetype);
file.on('data', function(data) {
console.log('File [' + fieldname + '] got ' + data.length + ' bytes');
});
file.on('end', function() {
console.log('File [' + fieldname + '] Finished');
});
});
如果您想阅读自己的信息流,那么您需要使用自己的信息流,或者请尝试使用以下方式
req.busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
var buffer = '';
console.log('File [' + fieldname + ']: filename: ' + filename + ', encoding: ' + encoding + ', mimetype: ' + mimetype);
file.on('data', function(data) {
buffer += data;
console.log('File [' + fieldname + '] got ' + data.length + ' bytes');
});
file.on('end', function() {
console.log('File [' + fieldname + '] Finished');
var val = JSON.parse(buffer);
// use `val` here ...
}).setEncoding('utf8');
});
请确保您在请求中使用了正确的标题,否则请将示例测试用例代码检查到here。
希望这会对你有帮助!