• 原生formdata上传-进度条读取


     
        // 上传图片
        load(obj) {
          var url = "URL"; // 接收上传文件的后台地址
          var form = new FormData(); // FormData 对象
          form.append("file", document.querySelector("[name=file]").files[0]); // 文件对象
          xhr = new XMLHttpRequest(); // XMLHttpRequest 对象
          xhr.open("post", url, true); //post方式,url为服务器请求地址,true 该参数规定请求是否异步处理。
          xhr.setRequestHeader(
            "Authorization",
            "Bearer " + token
          );
          xhr.onload = this.comlete; //请求完成
          xhr.upload.onprogress = this.progressFunction; //【上传进度调用方法实现】
          xhr.upload.onloadstart = function() {
            //上传开始执行方法
            var ot = new Date().getTime(); //设置上传开始时间
            var oloaded = 0; //设置上传开始时,以上传的文件大小为0
          };
          xhr.send(form); //开始上传,发送form数据
        },
     
        comlete(res) {
          console.log(res);
      do soming....
        },
     
        // 读取进度条
        progressFunction(evt) {
          if (evt.lengthComputable) {
            let loading = Math.round((evt.loaded / evt.total) * 100);
      console.log(loading)
          }
        },
    <!-------------   音频信息  -------------------->
     
        computedTime: function(content) {
          //获取录音时长
          var url = URL.createObjectURL(content);
          //经测试,发现audio也可获取视频的时长
          var audioElement = new Audio(url);
          console.log(audioElement);
          let that = this;
          audioElement.addEventListener("loadedmetadata", function(_event) {
            that.duration = parseInt(audioElement.duration);
            that.chorusStart = parseInt(audioElement.duration);
            that.chorusEnd = parseInt(audioElement.duration);
          });
        },
      <!---------- 调用获取指定元素信息  ---------------------------->
          this.computedTime(document.querySelector("[name=file]").files[0]);
  • 相关阅读:
    ExceptionExtensions
    implicit operator
    javascript Demo
    KO Demo
    Model Binding
    Await Async Task
    STL查找序列中处于某一大小范围内的元素个数
    2017头条笔试题:二维点集中找出右上角没有点的点并按x坐标从小到大打印坐标
    VS2017新建windows控制台程序打印中文乱码问题
    【详解】Linux的文件描述符fd与文件指针FILE*互相转换
  • 原文地址:https://www.cnblogs.com/lipuqing180906/p/12580133.html
Copyright © 2020-2023  润新知