浏览器生成指定大小的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 @   herry菌  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2018-06-27 ES6知识整理(8)--Promise对象
点击右上角即可分享
微信分享提示