写了一个简易的中间件,用来上传图片
代码如下:
exports.saveImage = function(req,res,next){
var posterData = req.files.uploadPoster;//从files中取出的数据
var filePath = posterData.path;//取路径
var originalFilename = posterData.originalFilename;
console.log("啥东西啊这是为啥undefined"+originalFilename)
if(originalFilename){
fs.readFile(filePath,function(err,data){
var timestamp=Date.now();
var type = posterData.type.split('/')[1];
var poster =timestamp+'.'+type;
var newPath = path.join(__dirname,'../../','/public/upload/'+poster);
console.log("filepath:"+filePath);//全部没有输出,说明压根没进if
console.log("newpath:"+newPath);
console.log("type:"+type);
fs.writeFile(newPath,data,function(err){
req.poster = poster;
next();
})
})
}else{
next();
}
};
从注释里面可以看到取不到上传的文件名,是我取的方式有问题吗,fs和path模块都已经require进来了,我用的node版本是4.4.3,express是3.x