vue 上传头像可裁剪

install cropperjs 裁剪图片,利用getCroppedCanvas方法。

npm install cropperjs --save 
或者
yarn add cropperjs

上传图片传参一般是form-data格式,form标签需要添加enctype="multipart/form-data"

需要注意的是:多次上传同一个图片,会导致两个问题:
1、点击上传选择完图片触发不了裁剪界面;2、上传完成请求接口成功后图片未更新

解决1: change事件监听value而触发,而value在上传文件的时候保存的是文件的内容。需要在上传成功的回调里面,将当前input的value值置空即可。event.target.value=”;

解决2: 在new File的第二参数加上当前时间戳就好啦

贴上完整代码







你可能感兴趣的:(vue 上传头像可裁剪)