Multipart / form-data upload – Nodejs – expressjs

由于express.multipart从Express 4.x库中删除,在expressjs中处理file upload的最佳方法是什么?

刚刚回答了关于multipart的类似问题 。 我会build议多方:

你给节点多方尝试? 以下是自述文件中的示例用法:

var multiparty = require('multiparty') , http = require('http') , util = require('util') http.createServer(function(req, res) { if (req.url === '/upload' && req.method === 'POST') { // parse a file upload var form = new multiparty.Form(); form.parse(req, function(err, fields, files) { res.writeHead(200, {'content-type': 'text/plain'}); res.write('received upload:\n\n'); res.end(util.inspect({fields: fields, files: files})); }); return; } // show a file upload form res.writeHead(200, {'content-type': 'text/html'}); res.end( '<form action="/upload" enctype="multipart/form-data" method="post">'+ '<input type="text" name="title"><br>'+ '<input type="file" name="upload" multiple="multiple"><br>'+ '<input type="submit" value="Upload">'+ '</form>' ); }).listen(8080); 

作者(安德鲁·凯利) build议避免bodyParser,所以你是正确的避免它,但多党似乎为我解决了类似的问题。

你可以使用connect-multipartyhttps://github.com/andrewrk/connect-multiparty

它可以用作你想接受上传的路由中的中间件。