使用nodejs+express(4.x+)实现文件上传
最简单的做法是通过“connect-multiparty”中间件实现上传。
通过在项目中npm install connect-multiparty进行安装。
用法:
var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();
app.post('/upload', multipartMiddleware, function(req, resp) {
console.log(req.body, req.files);
// don't forget to delete all req.files when done
});
上传后,上传的文件会在临时目录中生成一个临时文件,具体可将req.files打印出查看具体文件路径。
只要在注释的地方将临时文件移动并重命名到实际目录中即可完成上传功能。
简单。
但是官方不建议使用该中间件,建议直接使用“multiparty”,因为错误处理比较麻烦。
下面就用“multiparty”实现一个版本。
1.使用express(版本是4.11.x)创建一个项目,采用默认的jade作为模版引擎。
2.在项目目录中,通过npm install multiparty进行安装必要组件。
3.修改views/index.jade,如下做一个简单的用于文件上传的form。