vue项目vant图片上传总结

本文总结了在Vue项目中使用Vant进行图片显示、上传前校验、上传接口调用、图片删除以及点击缩略图预览原图等关键步骤。针对图片显示不正常的问题,提出了解决方案——为每个图片对象添加isImage: true属性。同时,介绍了如何在上传组件上设置:preview-full-image="false"和@click-preview="clickPreview"以实现预览功能。
摘要由CSDN通过智能技术生成

页面

    <!-- 上传照片 -->
    <van-field name="uploader">
      <template #input>
        <van-uploader
          ref="uploadImg"
          v-model="images"
          :before-delete="beforeDel"
          :before-read="beforeRead"
          :after-read="afterRead"
          multiple
          :preview-full-image="false"
          @click-preview="clickPreview"
          preview-cover="加载中..."
          accept="image/jpg,image/jpeg"
          :max-size="5 * 1024 * 1024">
          </van-uploader>
      </template>
    </van-field>
    <!-- 加载提示 -->
    <van-overlay :show="showPopup">
      <div class="wrapper" @click.stop style="margin-top: 200px;">
        <van-loading size="80px" color="#ffffff" vertical >加载中...</van-loading>
      </div>
    </van-overlay>
    <!-- 原图预览 -->
    <van-image-preview v-model="show" :images="previewOptions.images" :closeable="true" :show-index="false">
    </van-image-preview>

图片显示不正常

每个图片对象加上 isImage: true

// 向后台获取图片列表数据
getImg(upData).then(response => {
   
          this.images.push({
   
            url: 'data:image/jpeg;base64,' + response.data,
            isImage: true
          })
        }).catch(err => {
   
          console.log(err)
        })

图片上传前校验及上传调用接口

    <!-- 上传照片 -->
    <van-field name="uploader">
      <template #input>
        <van-uploader
          v-model="images"
          @oversize="onOversize"
          :before-read="beforeRead"
          :after-read="afterRead"
          </van-uploader>
      </template>
    </van-field>
    
    methods:
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3中使用Vant进行图片上传的流程如下: 1. 首先,你需要在Vue组件中引入VantUploader组件。可以使用以下代码片段: ```javascript <template> <van-uploader :after-read="afterRead" accept="image/*" :max-count="1" :max-size="100 * 1024 * 1024" @oversize="onOversize" /> </template> <script> import { Uploader } from 'vant'; export default { components: { \[Uploader.name\]: Uploader, }, methods: { afterRead(file) { // 在这里可以将文件上传到服务器 // 你可以将文件转换为base64格式进行提交 this.formData.File = file.content; }, onOversize() { // 当文件大小超过限制时触发 }, }, }; </script> ``` 2. 在Vue组件中,你需要定义一个`afterRead`方法作为文件读取完成后的回调函数。在这个方法中,你可以将文件上传到服务器。在这个例子中,我们将文件的base64内容存储在`formData.File`中。 3. 你还可以使用`accept`属性来限制上传文件的格式。在这个例子中,我们使用`accept="image/*"`来只允许上传图片文件。 4. 使用`max-count`属性来限制文件上传的数量。在这个例子中,我们将最大上传数量限制为1。 5. 使用`max-size`属性来限制文件的大小。在这个例子中,我们将文件大小限制为100MB。 总结起来,以上代码展示了在Vue3中使用Vant进行图片上传的基本流程。你可以根据自己的需求进行相应的修改和扩展。 #### 引用[.reference_title] - *1* *3* [vue+vant 表单提交,实现图片上传](https://blog.csdn.net/onlyhqm/article/details/85250216)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Vue项目+Vant组件库:上传图片或视频](https://blog.csdn.net/chenxiaoyuan1130/article/details/119870175)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值