Vue + el-upload阿里云文件上传进度条功能,阿里云文件上传切片进度条功能实现,el-upload文件上传真实进度条

news2024/12/28 19:42:03

el-upload阿里云文件上传进度条功能,进度条切片功能,做一个记录,此功能查询过其他文档,最终都还是实现不了(这是真实进度条,就是根据文件上传过程中文件切片实现的)

效果:
在这里插入图片描述
在这里插入图片描述

<template>
  <div class="uploadBtn">
    <el-upload
      ref="uploadRefs"
      class="upload-demo"
      :file-list="fileListA"
      action=""
      :http-request="UploadFileA"
      :limit="1"
      accept="mp4"
      :on-change="handleChange"
      :on-success="handleSuccess"
    >
      <el-button size="small" type="primary">点击上传</el-button>
    </el-upload>
    <el-progress v-if="uploading" :percentage="uploadPercentage"></el-progress>
  </div>
</template>

<script>
import { client } from "@/utils/alioss";
export default {
  name: "Upload",
  data() {
    return {
      fileListA: [],
      disabledTrue: true,
      uploading: false, // 是否正在上传
    };
  },

  methods: {
    //上传图片到阿里云
    UploadFileA(file) {
      console.time("executionTime"); //测试文件上传所耗时间开始
      const baseUrl = "https://你的阿里云地址aliyunUrl.com";
      const fileName = file.file.uid + file.file.name; //文件信息
      const url = baseUrl + "/resource/你的阿里云文件夹地址/" + fileName; //拼接地址
      const xhr = new XMLHttpRequest();
      xhr.upload.addEventListener("progress", (event) => {
        if (event.lengthComputable) {
          const percentage = Math.round((event.loaded * 100) / event.total);
          this.uploadPercentage = percentage; //给进度条赋值
        }
      });
      xhr.onreadystatechange = () => {
        if (xhr.readyState === XMLHttpRequest.DONE) {
          if (xhr.status === 200 || xhr.status === 201) {
           console.log('阿里云文件', xhr)
              this.formData.fileUrl = xhr.responseURL
            this.uploadPercentage = 100; // 上传完成后显示100%进度
            console.timeEnd("executionTime"); //测试文件上传所耗时间结束,打印时间为所耗时间,为毫秒级
          } else {
            console.error("上传失败");
          }
          this.uploading = false; // 设置上传状态为 false,隐藏进度条
        }
      };
      this.uploading = true; // 设置上传状态为 true,显示进度条
      xhr.open("PUT", url, true);
      xhr.send(file.file);
    },
  },
};
</script>

然后就可以了

相关参数解答:

xhr.onreadystatechange 是 XMLHttpRequest 对象的一个事件处理程序,它在请求状态发生变化时触发。XMLHttpRequest 对象用于与服务器进行异步通信,onreadystatechange 事件在接收到服务器响应并且请求状态发生变化时被触发。
具体来说,xhr.onreadystatechange 事件在以下几种情况下被触发:
xhr.readyState 的值发生变化时
xhr.status 的值发生变化时
xhr.statusText 的值发生变化时
xhr.response 的值发生变化时
xhr.readyState 是 XMLHttpRequest 对象的属性,表示请求的状态。它有如下几个可能的值:
0: 未初始化。XMLHttpRequest 对象已创建或已被 abort() 方法重置。
1: 打开。open() 方法已被调用,但 send() 方法未被调用。
2: 发送。send() 方法已被调用,并且头部和状态已经可获得。
3: 接收。正在接收服务器的响应数据。
4: 完成。已经接收到全部响应数据,并且可以在客户端使用了。
在xhr.onreadystatechange 事件处理程序中,我们通常使用条件判断来确定请求的状态是否满足特定条件,以执行相应的操作。例如,在上面的代码中,我们检查 xhr.readyState 是否等于 XMLHttpRequest.DONE,来确定请求是否已完成。如果是,则进一步检查 xhr.status 是否为 200 或 201,来确定请求是否成功。
通过使用 xhr.onreadystatechange 事件处理程序,我们可以根据不同的请求状态来执行相应的逻辑,例如更新页面内容、处理错误等。

xhr.upload 是 XMLHttpRequest 对象的一个属性,而不是事件处理程序。
xhr.upload 属性是用于处理上传过程中的事件的。它是一个包含了与上传相关事件的 XMLHttpRequestUpload 对象。
在前面提到的代码中,我们使用了 xhr.upload.addEventListener 方法来注册一个 progress 事件监听器。这个事件监听器用于追踪上传的进度。

!!!∑(゚Д゚ノ)ノThanks♪(・ω・)ノლ(´ڡ`ლ)好吃的.o(´^`)o(•́へ•́╬)┗( ▔, ▔ )┛(ಥ_ಥ)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/824858.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑黑屏按什么键恢复?掌握这3个按键,轻松解决!

“电脑怎么会突然就黑屏呢&#xff1f;我看综艺看得好好的莫名其妙电脑就黑屏了&#xff0c;怎么按都没有用。电脑黑屏应该怎么解决呢&#xff1f;大佬快帮帮我&#xff01;” 对于电脑黑屏的问题&#xff0c;很多小伙伴应该都不陌生吧。在实际使用电脑的操作中&#xff0c;或许…

干货 | 三款民宿App会员评测,你都用过吗?

为了留存用户&#xff0c;许多旅游住宿类APP都开通了会员权益&#xff0c;对老用户来说&#xff0c;会员等级的提升会为他们带来更多的权益及优惠&#xff0c;那么问题来了&#xff0c;到底哪家的会员优惠更多呢&#xff1f; 根据第三方统计的下载数据来看&#xff0c;APP STO…

云计算与大数据领域新指南 | 《揭秘云计算与大数据》助您驾驭数字化浪潮!

日前&#xff0c;《揭秘云计算与大数据》正式上市。这本由国际知名的技术专家撰写的书籍&#xff0c;将带领读者深入了解云计算和大数据领域的技术前沿和应用趋势&#xff0c;为读者呈现一个全面而深入的视角。 随着信息技术的飞速发展&#xff0c;云计算和大数据作为两大前沿…

iOS——Block回调

先跟着我实现最简单的 Block 回调传参的使用&#xff0c;如果你能举一反三&#xff0c;基本上可以满足了 OC 中的开发需求。已经实现的同学可以跳到下一节。 首先解释一下我们例子要实现什么功能&#xff08;其实是烂大街又最形象的例子&#xff09;&#xff1a; 有两个视图控…

自问自答----WEB篇

目录 1、https和http协议的端口 2、http协议的版本 3、linux中查看报文的方法 3.1 curl www.baidu.com -v 3.2 wget --debug www.baidu.com 4、http有哪些请求方法 5、http的请求头 6、http响应头​编辑 7、状态码有哪些 8、uri和url 9、静态&#xff1f;动态&#x…

第九章 HL7 架构和可用工具 - 查看批量消息

文章目录 第九章 HL7 架构和可用工具 - 查看批量消息查看批量消息Class类有关 HL7 消息类别的详细信息TypeCategoryName 第九章 HL7 架构和可用工具 - 查看批量消息 查看批量消息 如果消息是一组批处理格式的 HL7 消息&#xff0c;而不是单个 HL7 消息&#xff0c;则 HL7 文档…

三星书画联展:三位艺术家开启国风艺术之旅

7月22日&#xff0c;由广州白云区文联、白云区工商联主办的“三星书画联展”&#xff0c;在源美术馆正式开展。本次书画展展出的艺术种类丰富&#xff0c;油画、国画、彩墨画、书法等作品异彩纷呈。广东省政协原副主席、农工党省委书画院名誉院长马光瑜&#xff0c;意大利艺术研…

小程序安全性加固:如何保护用户数据和防止恶意攻击

第一章&#xff1a;引言 在当今数字化时代&#xff0c;移动应用程序的使用已经成为人们日常生活中的重要组成部分。小程序作为一种轻量级的应用程序形式&#xff0c;受到了广泛的欢迎。然而&#xff0c;随着小程序的流行&#xff0c;安全性问题也日益凸显。用户数据泄露和恶意攻…

SpringBoot项目修改中静态资源,只需刷新页面无需重启项目(附赠—热加载)

初衷 &#x1f4a2;初衷&#x1f4a2; 因为一遍遍修改并重启项目觉得很麻烦&#xff0c;所以刚开始就自己给项目配置了热加载&#xff0c;但奈何代码更新还是慢&#xff0c;还不如我重启一遍项目的速度&#xff0c;所以放弃了自己上网找到的热加载配置。直到我debugger前端代码…

星戈瑞 | DSPE-PEG-CY5荧光成像技术在生物医学研究中的重要性

DSPE-PEG-CY5荧光成像技术在生物医学研究中具有重要性&#xff0c;其在成像和标记方面的优势为生物学和医学领域提供了强大的工具。以下是DSPE-PEG-CY5荧光成像技术在生物医学研究中的重要性&#xff1a; 1. 非侵入性成像&#xff1a;DSPE-PEG-CY5荧光成像技术是一种非侵入性的…

面试必考精华版Leetcode2095. 删除链表的中间节点

题目&#xff1a; 代码&#xff08;首刷看解析 day22&#xff09;&#xff1a; class Solution { public:ListNode* deleteMiddle(ListNode* head) {if(head->nextnullptr) return nullptr;ListNode *righthead;ListNode *lefthead;ListNode *NodeBeforeLeft;while(right!n…

【NLP】训练chatglm2的评价指标BLEU,ROUGE

衡量模型输出的描述语句的准确性&#xff0c;因为衡量的对象是一个个的自然语言文本&#xff0c;所以通常会选择自然语言处理领域的相关评价指标。这些指标原先都是用来度量机器翻译结果质量的&#xff0c;并且被证明可以很好的反映待评测语句的准确性&#xff0c;主要包含4种&…

IDEA中maven项目失效,pom.xml文件橙色/橘色

IDEA中maven项目失效&#xff0c;pom.xml文件橙色/橘色 IDEA中Maven项目失效 IDEA中创建的maven项目中的文件夹都变成普通格式&#xff0c;pom.xml变成橙色 右键点击橙色的pom.xml文件&#xff0c;选择add as maven project maven项目开始重新导入相应依赖&#xff0c;恢复…

智驾「完整数据闭环」受困,谁能蹚出一条最佳路线?

城市NOA&#xff0c;标志着自动驾驶商业化的一座里程碑&#xff0c;也意味着智能汽车下半场的开端。 自2023年上海车展以来&#xff0c;有关城市NOA的路线之争逐渐明晰&#xff0c;“重感知&#xff0b;轻地图”、借助纯感知和融合感知路线、以及BEVTransformer模型的智能驾驶…

为什么有的时候Socks5比HTTP爬虫IP更快?

作为一名长期从事爬虫行业动态IP解决方案服务商&#xff0c;我发现经常有客户疑惑&#xff1a;为什么有的时候Socks5代理IP比HTTP代理IP更快&#xff1f;其实&#xff0c;这个是很常见的一种现象。今天&#xff0c;我就来分析一下为什么Socks5代理IP有时比HTTP代理IP更快&#…

基于django社区物品转让平台-计算机毕设 附源码40507

django社区物品转让平台 目 录 摘 要 Abstract 第1章 前 言 1.1 研究背景 1.2 研究现状 1.3 系统开发目标 第2章 技术与原理 2.1 开发技术说明 2.2 B/S体系工作原理 2.3 Django框架介绍 6 2.4 MySQL数据库 7 2.5 Ajax应用 8 第3章 需求分析 9 3.1 需…

vue报错的几种情况 Duplicate keys detected: ‘1‘. This may cause an update error.

在遍历多层数组时&#xff0c; 出现以上情况是因为key值不值唯一的&#xff0c;只需要将key后面的值拼接一个简单的字段即可。如下&#xff1a; 这样就不会报错啦~

AI 绘画Stable Diffusion 研究(四)sd文生图功能详解(上)

大家好&#xff0c;我是风雨无阻。 通过前面几篇AI 绘画Stable Diffusion 研究系列的介绍&#xff0c;我们完成了Stable Diffusion整合包的安装、模型ControlNet1.1 安装、模型种类介绍与安装&#xff0c;相信看过教程的朋友们&#xff0c;手上已经有可以操作实践的Stable Diff…

微信小程序animation动画,微信小程序animation动画无限循环播放

需求是酱紫的&#xff1a; 页面顶部的喇叭通知&#xff0c;内容不固定&#xff0c;宽度不固定&#xff0c;就是做走马灯&#xff08;轮播&#xff09;效果&#xff0c;从左到右的走马灯&#xff08;轮播&#xff09;&#xff0c;每播放一遍暂停 1500ms &#xff5e; 2000ms 刚…

使用CRM系统能不能降低客户流失率?如何操作?

客户流失率关系着企业的收入和利润&#xff0c;较高的客户流失率意味着企业需要不断地开发新客户来弥补损失&#xff0c;导致成本和风险大大提高。作为客户管理“神器”&#xff0c;CRM如何降低客户流失率&#xff1f; 1、提高客户满意度 CRM可以帮助企业收集和分析客户的反馈…