formData-上传进度

目的:为了看上传进度,不看上传完成后怎么了!

  let form = document.querySelector("form");
  let info = document.querySelector(".info"); //百分数
  let bar = document.querySelector(".bar");   // 进度条


  form.onsubmit = function(e) {
    e.preventDefault();

    // 2.收集表单数据:大段文字 和 文件(图片、视频、压缩包)
    let fd = new FormData(this);


    let xhr = new XMLHttpRequest();
    xhr.open("post", "http://www.liulongbin.top:3006/api/upload/avatar");


    // 上传进度事件:必须放在xhr.send();语法规定
    xhr.upload.onprogress = function(e) {
      // e.lengthComputable  文件是否正在上传
      // e.loaded            已经上传的大小
      // e.total             文件的总大小
      let numb = e.loaded / e.total * 100;
      info.innerText = numb.toFixed(2) + "%";

      // 设置:计算结果设置宽度 %
      bar.style.width = numb.toFixed(2) + "%"
    }




    xhr.send(fd); // 发送请求,展示请求完成和状态!

  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值