前台上传图片,剪裁使用jcrop。传给后台的裁剪数据
imgData.x=c.x;
imgData.y=c.y;
imgData.w=c.w;
imgData.h=c.h;
后台接收后获取到的参数信息
{ imgcutX: '19',
imgcutY: '47',
imgcutW: '104',
imgcutH: '132',
imgOriginWH: '463,462' }
[ { fieldname: 'f1',
originalname: 'timg.jpg',
encoding: '7bit',
mimetype: 'image/jpeg',
destination: './static/upload',
filename: '53e5b756556f916424bd33e8425c77b0',
path: 'static\\upload\\53e5b756556f916424bd33e8425c77b0',
size: 4129 } ]
处理部分的代码:
var patharr=req.files[0].path.split('\\')
patharr.pop();
var newP=patharr.join('\\')+'\\';
var picName=new Date().getTime()+pathLib.parse(req.files[0].originalname).ext
var newfileName=newP+picName
fs.rename(req.files[0].path,newfileName,function(err){
if(err){
console.log('失败')
return;
res.status(500).send('上传图片失败!').end();
}else{
images(images('./static/upload/'+picName),req.body.imgcutX,req.body.imgutY,req.body.imgcutW,req.body.imgcutH).resize(100).save('./static/upload/n-'+picName)
}
这样写并没有裁剪图片,而是把图片整张压缩成了x,y,w,h这么小了。是images用错了?还是前台传的数据有问题?希望会的大佬答一下...