spa*_*rks 6 node.js express multer busboy
我正在使用connect-busboy在node/express app上传文件.问题有时它可以正常工作(文件上传得非常好),有时我会收到错误Unexpected end of multipart data并且应用程序崩溃.这可能是导致此错误的原因?此外,任何有关如何调试此功能的帮助将不胜感激.我正在使用node version 5 并connect-busboy": "0.2.14"提前谢谢你
router.route('/images')
.post (function(req, res) {
var fstream;
req.busboy.on('file', function (fieldname, file, filename) {
fstream = fs.createWriteStream(__dirname + '/public/img/'+ filename);
file.pipe(fstream);
file.on('end', function() {
console.log('File [' + fieldname + '] Finished sucessfully');
});
fstream.on('error',function(err){
console.log('fstream error' + err);
file.unpipe();
});
fstream.on('close', function () {
res.status(200);
res.json({ message: 'File uploaded' });
});
});
req.pipe(req.busboy);
});
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
throw er; // Unhandled 'error' event
: Error: Unexpected end of multipart data
2017-05-07T20:28:27.599826+00:00 app[web.1]: at
/app/node_modules/busboy/node_modules/dicer/lib/Dicer.js:62:28
Run Code Online (Sandbox Code Playgroud)
对我来说,当我在客户端格式化帖子正文时使用\n换行符而不是换行符时,我收到了此错误。\r\n
当我修复换行符时(如下面的代码所示),它起作用了。
fetch('/api/upload',
{ method: 'POST',
credentials: 'include',
headers: {'Content-type': 'multipart/form-data; boundary=XXX' },
body: '--XXX\r\nContent-Disposition: form-data; name="file"; filename="filename.csv"\r\nContent-Type: text/csv\r\n\r\nA,B,C\r\n1,1.1,name1\r\n2,2.2,name2\r\n\r\n--XXX--'
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2851 次 |
| 最近记录: |