express的旧版本中集成了body-parse的文件上传功能,但在新版本中body-parse独立了一个项目。
这里使用更加方便的multer
var express = require('express');
var app = express();
//npm install multer@0.1.8
//最新版本会报错
var multer = require('multer');
//设置文件存放目录,具体用法参考https://www.npmjs.com/package/multer
app.use(multer({dest: "./public/pub_file"}))
//上传文件接口
app.post('/file-upload', function(req, res) {
//获取文件
console.log(req.files);
//获取其他参数
console.log(req.body);
});
files中某一个file的示例如下:
```javascript
{
//上传域key值
fieldname: 'thumbnail',
//原始文件名
originalname: 'AXMLPrinter2.jar',
//文件名
name: '58ed40e3d65616403e190767afaf2327.jar',
//编码
encoding: '7bit',
//文件类型
mimetype: 'application/octet-stream',
//保存路径
path: 'public/pub_file/58ed40e3d65616403e190767afaf2327.jar',
//文件格式
extension: 'jar',
//文件大小
size: 24552,
truncated: false,
buffer: null
}