web端浏览器上传图片(多文件)

template部分:

<!-- 上传图片 -->
<div class="upload-box" @click="uploadFile">
  <div class="upload-text">上传</div>
  <!-- multiple -- 选择多个文件 -->
  <input type="file" id="importFile" @change="checkedFile" style="display: none" 
     accept="image/*" multiple />
</div>

js部分:

// 点击上传图片
uploadFile() {
  const loader = document.getElementById("importFile");
  loader.click();
},

checkedFile({ target }) {
  let arr = Array.from(target.files)
  const formData = new FormData();
  arr.forEach((item) => {
     formData.append("file", item);
  });
  formData.append("id", xxx.id); // 业务数据
  formData.append("code", xxx.code); // 业务数据
  const msg = this.$Message.loading({
     content: "正在上传...",
     duration: 0,
     closable: true,
  });
  this.$api.xxx(formData).then((res) => {
     setTimeout(msg, 5);
     if (res.error !== "error") {
       this.$Message.success("上传成功");
     }
  })
  .catch(() => {
     setTimeout(msg, 5);
   });
},

注:input中删掉multiple,就可以限制单次只能选择一个图片,此时checkedFile方法中不需要对"file"做循环插入,改为formData.append("file", target.files[0])即可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值