浏览器生成指定大小的zip压缩文件

代码

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>生成指定大小的zip文件</title>
  <script src="https://cdn.bootcdn.net/ajax/libs/jszip/3.10.1/jszip.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/tesseract.js@5/dist/tesseract.min.js"></script>
</head>

<body>
  生成<input type="text" value="100">M的文件
  <button onclick="down()">生成</button>
  <br><br>
  <input type="file" id="fileInput" />
  <script>
    function down() {
      const zip = new JSZip();
      // 创建一个文本文件,内容为"1"
      const textContent = '1'.repeat(1 * 1024 * 1024);
      // 将文本内容添加到ZIP文件中
      zip.file('file/test.txt', textContent);
      zip.generateAsync({ type: "blob" }).then(function (content) {
        document.body.appendChild(document.createElement("a"));
        document.querySelector("a").href = URL.createObjectURL(content);
        document.querySelector("a").download = "test.zip";
        document.querySelector("a").click();
      });
    }
  </script>
</body>

</html>

<script>
  fileInput.onchange = (event) => {
    const files = event.target.files;
    if (files && files.length > 0) {
      const file = files[0];
      const reader = new FileReader();
      reader.onload = function (e) {
        // console.log(e.target.result)
        getResult(e.target.result)
      };
      // reader.readAsText(file); // 读取为文本
      reader.readAsDataURL(file)
    }
  }

  function getResult(url) {
    console.time('1')
    Tesseract.recognize(
      url, // 输入图片的路径
      'eng+chi_sim', // 指定语言模型,支持多种语言组合,用加号分隔
      {
        logger: m => {
          // console.log('m', m)
        }
      }
    ).then(({ data: { text } }) => {
      console.timeEnd('1')
      console.log('结果', text); // 输出识别结果
    }).catch(err => {
      console.error('错误', err); // 输出错误信息
    });
  }
</script>

 

posted @ 2024-06-27 14:38  herry菌  阅读(7)  评论(0编辑  收藏  举报