前端对文件进行分片

 前端夏老师------
<!DOCTYPE html>
<html>

<head>
  <title><%= title %></title>
  <link rel='stylesheet' href='/stylesheets/style.css' />
</head>

<body>
  <input type="file" id='input'>
  <button id="btn">按钮</button>
  <script>
    btn.addEventListener('click', upload);
    let chunk = 1024;
    let index = 0;
    function upload() {
      // 拿到当前的文件
      let file = input.files[0];
      // 每次的起始位置
      let start = chunk * index;
      // 因为文件是继承bold的二进制大对象所以当前就有size
      if (start > file.size) return;
      //获取文件名称
      let [name, ext] = file.name.split('.');

      //每次分片的大小
      let bold = file.slice(start, start + chunk);

      const formData = new FormData();

      //得到文件名称,index的目的是分片不重复
      let boldName = `${name}${index}.${ext}`;

      //需要在转换为文件对象
      let boldFile = new File([bold], boldName);

      formData.append('file', boldFile);

      fetch('/upload', {
        method: 'POST',
        body: formData
      }).then((res) => {
        index++;
        upload();
      })
    }
  </script>
</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值