nodejs中我用的express版本是3,用multer上传文件,但是加上app.use(express.bodyParser());就不能上传了

请教懂的人帮助!!!varexpress=require('express');varapp=express();varfs=require('fs');varmulte... 请教懂的人帮助!!!

var express = require('express');
var app = express();
var fs = require('fs');
var multer = require('multer');
var path = require('path');

app.configure(function () {
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname+'/public'));
app.use(express.favicon(__dirname+'/public/img/module/logoIcon.ico'));
app.use(express.errorHandler());
});
app.set('port',8082); //设置端口号
app.listen(app.get('port'),function () {
console.log('服务器已运行 '+app.get('port'));
});

var uploadFolder = './public';

// 通过 filename 属性定制
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, uploadFolder);// 保存的路径
},
filename: function (req, file, cb) {
// 将保存文件名设置为 字段名 + 时间戳
var hzm=(file.originalname).split(".");
cb(null, file.fieldname + Date.now()+'.'+hzm[hzm.length-1]);
}
});
// 通过 storage 选项来对 上传行为 进行定制化
var upload = multer({ storage: storage })

app.post('/upload',upload.single('articleImg'), function(req, res){
// var file=req.files;
var file=req.file;

console.log('文件信息:', file.filename);
});
展开
 我来答
爬虫飘过
2017-02-03 · 超过59用户采纳过TA的回答
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:67.9万
展开全部
试试bodyParser的raw()。
var bodyParser = require('body-parser')
app.use(bodyParser.raw())
更多追问追答
追问
我有登陆页面,需要用
app.use(express.bodyParser());//处理post请求模块
,没有这个不能登录。
这个怎么解决?
追答

这三种方法都可以啊

  1. 使用不同的路由

  2. body-parser支持为单个Express路由添加请求体解析

  3. 为body-parser指定请求类型

参考下:http://blog.csdn.net/yanyang1116/article/details/54847560,思路就是这样

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式