基于 element 批量上传图片和pdf

1、背景

基于一次悲惨经历,领导要求一个上传按钮同时上传pdf和图片两种文件,并且存储在一起。

2、实现

  1. image.html
    上传代码,其中 multiple 为开启多文件上传
<el-upload :action="myAction()" :show-file-list="false" multiple :before-upload="beforeUploadFile"
           :on-success="handleAvatarSuccess" :data="imgUploadParams">
      <el-button v-if="showUploadButton" slot="trigger" size="small" type="success" plain>上传</el-button>
</el-upload>

回显代码,在回显代码中用v-if判断文件类型,调用imgClickPdf(imgCurrentDataList, index)方法实现pdf的预览功能,:preview-src-list="[item.relativePath]"实现图片的放大查看。

<div :id="index"  style="height: 400px;" class="image-frame" v-for="(item, index) in imgCurrentDataList" ref="testImg">
    <img src="img/delete.jpg" class="delete" @click="deleteImgButton(item)"/>
    <div class="image-text">Page {{index + 1}} - {{item.imgName}} - {{item.txnNo}}</div>
    <div class="image-content">
        <el-image
                v-if="item.relativePath.substring(item.relativePath.lastIndexOf('.') + 1) === 'pdf'"
                @click="imgClickPdf(imgCurrentDataList, index)"
                align="center"
                :src= "item.relativePath"
                onerror="this.onerror=null; this.src='img/pdf.jpg'"
        ></el-image>
        <el-image
                v-else
                @click="imgClick(imgCurrentDataList, index)"
                align="center"
                :src= "item.relativePath"
                :preview-src-list="[item.relativePath]"
                onerror="this.onerror=null; this.src='img/404.jpg'"
        ></el-image>
    </div>
</div>

完整代码

js的全部代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值