vue中 iview的upload上传图片 获取本地图片绝对路径 在前端实现图片预览

vue中 iview的upload上传图片 获取本地图片绝对路径 在前端实现图片预览

在用iview的upload上传图片的时候,想要实现图片的预览。 但是在iview给的例子中,是每上传一个图片触发一次上传事件,调一次接口,后台将图片存入数据库,再回传给前端,这样实现图片在前端的显示。
这个方法对于上传多张图片,无疑很不现实。
于是就有了下面的方法。

想要实现上传多张图片,上传的图依次显示出来,点击提交,实现同时上传,只调一次接口,后台一次性将多张图片存入数据库。

在图片上传前 ‘handleBeforeUpload’ 事件中加入以下代码,获取的_base64即为本地图片的绝对路径,将其存起来,在赋值到img的src路径,即可实现图片在上传前的显示,实现图片的预览

  const reader = new FileReader()
    reader.readAsDataURL(file)
    reader.onload = () => {
        const _base64 = reader.result
        console.log(_base64)
    }

整体代码copy

  //图片上传前事件
handleBeforeUpload (file) {
  this.file = file //需要传给后台的file文件
  const reader = new FileReader()
  reader.readAsDataURL(file)
  reader.onload = () => {
    const _base64 = reader.result
    this.imgUrl = _base64 //将_base64赋值给图片的src,实现图片预览
  }
  return false//阻止图片继续上传,使得form表单提交时统一上传
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值