本地启服务测试,没问题.
将代码更新到服务器(centOS6.8)之后.
测试图片上传.报这个错: ERR_CONTENT_LENGTH_MISMATCH
处理请求的代码:
try{
var imgData = req.body.headPortrait;
var userId = req.body.userId;
var base64Data = imgData.replace(/^data:image\/\w+;base64,/, "");
var dataBuffer = new Buffer(base64Data, 'base64');
//将buffer写成文件,文件名如果重名的话.则会覆盖
fs.writeFile('./public/uploads/headPortrait'+userId+'.jpg',dataBuffer,function(err){
console.log(err);
});
var user = userService.updateUser({'headPortrait':'/uploads/headPortrait'+userId+'.jpg'},userId);
console.log(user.get({'plain': true}));
return res.json("上传成功!");
}catch(e){
return res.json("错误信息:"+e.description );
}
代码意思是.将传过来的的图片转成buffer然后存入指定的目录
再调用自己定义的userService.updateUser()方法,存入数据库.
我在网上查询了下这个错误.说可能是 用户/目录权限的问题.
但是没有找到解决方案. 前不久才开始玩centOS的.这方面不是很懂.
麻烦各位大大,看下可能的解决问题的方法.