仿 twitter头像上传组件(vue2)

头像上传组件 (此组件为仿 twitter 版)

仓库:

https://github.com/JACK-Liang-2020/jar-common-tool

演示:

https://jarv2021.github.io/#/index

https://qiu2046.gitee.io/jarv2021.github.io/#/index

组件需求和思路分析

```

需求:

1.需允许上传 gif|jpg|jpeg|png|bmp|GIF|JPG|PNG 等比较通用的图片格式

2.鼠标滚轮可以缩放,并且获取缩放的百分比

3.截图框不能拖动,上传的图片可以拖动,但是图片的拖动不能离开截图框

待扩展:

1.是否做上传图片大小限制

2.是否截图框和上传图片都能拖动

3.上传图片是否按比例变大或缩小,填满截图框

针对需求的优化:

1.参考vue-Cropper,使用了cropperjs,并且裁剪了许多功能,使功能集中于缩放和裁剪两项

2.cropperjs 并没有提供方法返回缩放的精确数值,所以组件改用了 监听 DOMMouseScroll 事件,根据一定的比率换算,设置缩放大小

3.细化截图的结果输出,分别返回 cropSuccess, cropFail, cropUploadSuccess ,cropUploadFail事件

```

## 使用

```

   !前提模块安装: cropperjs,axios

   cropperjs 文档:https://github.com/fengyuanchen/cropperjs

   axios 文档:http://www.axios-js.com/

   使用方式:

    <uploadAvatar ref="uploadAvatar"/>

   触发上传文件:

   this.$refs.uploadAvatar.chooseFile();

   保存截图:

   this.$refs.uploadAvatar.getCropResult();

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值