element的上传如何获取路径_利用FileReader读取element-ui中上传组件el-upload上传的文件,实现先本地预览后上传至服务器(Vue)...

用elment-ui的上传组件上传用户头像时发现它的图片预览是需要先将图片发送到服务器,返回一个图片地址,然后根据这个地址在头像区显示,但是我想要的是:

选取头像,后立即在头像区显示,(不涉及图片剪辑和图片区域选取),而不是先上传到服务器。那么就需要获取一个图片在本地的地址。


- 浏览器出于安全考虑不让直接获取本地图片的路径,那我们就使用FileReader ( 或window.URL )去读取选择好的图片,返回一个DataURL,然后根据这个URL显示图片。
- 那么在el-upload组件中如何获取到选好的图片文件呢?el-upload组件的input标签是包在里面的,你只能在源码里看到它的input标签,首先我想到的是去源码里给input标签加个id,根据id找到这个元素,然后获取file,后来发现根本行不通,我无法通过id获取到这个元素,那么该怎么办呢? ![](https://img2018.cnblogs.com/blog/1702009/201907/1702009-20190712100012135-489339134.png)
- 经过多次尝试后发现,关闭自动上传属性后再去选取图片唯一能触发的钩子函数是on-change,注意:before-upload需要提交文件后才能触发,但是是在上传之前。on-change绑定的函数会有一个输入型参数,也就是event,但是这个event里面没有target属性,那该如何是好!我怎么获取input元素,不要着急,你会发现里面还有一个raw属性(后来发现file参数中也有raw属性),它就是你要的选取的文件数据! 根本不需要用document.getElementById(

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值