如何实现拖拽上传、上传进度条,以及取消上传?

文件上传是最常见的一种业务需求,上传功能可简单,可复杂,简单就是把文件传上去就行,复杂就是涉及大文件断点续传、控制并发等,不知道大家对上传都了解多少。今天要给大家分享的是上传需求中最为常见的一些场景,话不多说,开干:

拖拽上传

拖拽上传涉及到样式交互、文件信息获取,那么,我们首先了解一下拖拽相关的几个事件:

  1. dragover - 被拖动的对象进入目标容器时触发
  2. dragleave - 被拖动的对象离开目标容器时触发
  3. drop - 被拖动的对象进入目标容器,释放鼠标键时触发

了解了这几个事件,再实现拖拽上传就相当容易了。先上效果图:

效果展示

当被拖动的对象进入目标容器时,容器边框变红。当拖出目标容器,或者释放鼠标键时,容器边框置灰。当释放鼠标键时,获取拖动对象的文件信息。

代码实现
<template>
  <div ref="drag" class="drag">
    <div class="drag-icon-box">
      <!-- 采用的是 element-ui 的图标 -->
      <i class="el-icon-upload"></i> 
    </div>
    <div class="drag-message">
      <span class="drag-message-title">将文件拖动到此处,或</span>
      <label for="file" class="drag-message-label">
        <input
          class="drag-message-input"
          type="file"
          id="file"
          name="file"
          @change="handleFileChange"
        />
        <span class="drag-message-manual">点击上传</span>
      </label>
    </div
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值