nodejs/express/busboy - 将上传的 json 数据保存到数据库中
nodejs/express/busboy - saving uploaded json data into database
我在用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')
});
这里我如何读取文件,或者即使我需要更多步骤?
其实connect-busboy is a connect middleware for 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');
});
并确保您在请求中使用了正确的 headers,否则请检查示例测试用例代码 here。
希望对您有所帮助!
我在用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')
});
这里我如何读取文件,或者即使我需要更多步骤?
其实connect-busboy is a connect middleware for 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');
});
并确保您在请求中使用了正确的 headers,否则请检查示例测试用例代码 here。
希望对您有所帮助!