首页 > 其他分享 >文件处理

文件处理

时间:2024-06-18 17:54:06浏览次数:19  
标签:文件 byteArrays slice const 处理 blob offset new

  request
    .get("/operate-benchmarking/benchmarking/getReportTb2", {
      params: {
        reportName: reportName,
      },
      // responseType: "blob",
    })
    .then((res) => {
      console.log(res.data);

     

      //  --------------下面的代码是下载--start-----------------
      // // 假设 base64String 是您提供的Base64编码的Excel文件内容
      // // const base64String = "UEsDBBQACAgIAPtcrlg..."; // 替换为您的Base64字符串
      // const base64String = res.data; // 替换为您的Base64字符串
      // // 将Base64字符串解码为Blob对象
      // function base64toBlob(base64Data, contentType) {
      //   contentType = contentType || "";
      //   const sliceSize = 1024;
      //   const byteCharacters = atob(base64Data);
      //   const byteArrays = [];
      //   for (
      //     let offset = 0;
      //     offset < byteCharacters.length;
      //     offset += sliceSize
      //   ) {
      //     const slice = byteCharacters.slice(offset, offset + sliceSize);
      //     const byteNumbers = new Array(slice.length);
      //     for (let i = 0; i < slice.length; i++) {
      //       byteNumbers[i] = slice.charCodeAt(i);
      //     }
      //     const byteArray = new Uint8Array(byteNumbers);
      //     byteArrays.push(byteArray);
      //   }

      //   const blob = new Blob(byteArrays, { type: contentType });
      //   return blob;
      // }

      // // 调用函数并设置文件类型为application/vnd.openxmlformats-officedocument.spreadsheetml.sheet(Excel的OOXML格式)
      // const blob = base64toBlob(
      //   base64String,
      //   "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
      // );

      // // 创建一个下载链接
      // const url = window.URL.createObjectURL(blob);
      // const link = document.createElement("a");
      // link.href = url;
      // link.setAttribute("download", "myfile.xlsx"); // 设置下载的文件名
      // document.body.appendChild(link);
      // // 触发下载
      // link.click();

      // // 清理
      // window.URL.revokeObjectURL(url);
      // document.body.removeChild(link);
      //  --------------上面的代码是下载--end-----------------
      // 返回
    });

  

const loadExcel = (excelBase64) => {
  // 将Base64编码转换为Blob对象
  const byteCharacters = atob(excelBase64);
  const byteArrays = [];
  for (let offset = 0; offset < byteCharacters.length; offset += 1024) {
    const slice = byteCharacters.slice(offset, offset + 1024);
    const byteNumbers = new Array(slice.length);
    for (let i = 0; i < slice.length; i++) {
      byteNumbers[i] = slice.charCodeAt(i);
    }
    const byteArray = new Uint8Array(byteNumbers);
    byteArrays.push(byteArray);
  }
  const blob = new Blob(byteArrays, {
    type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
  });
  // 创建Blob URL并赋值给excelUrl
  excelUrl.value = URL.createObjectURL(blob);
};

  

标签:文件,byteArrays,slice,const,处理,blob,offset,new
From: https://www.cnblogs.com/LFxanla/p/18254843

相关文章

  • GB28181安防视频系统EasyCVR报错version`GLIBCXX_3.4.19'not found如何处理?
    多协议接入/GB28181/GAT1400协议/安防综合管理系统EasyCVR视频汇聚平台能在复杂的网络环境中,将前端设备统一集中接入与汇聚管理。智慧安防/视频存储/视频监控/视频汇聚EasyCVR平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘......
  • 文件内容比较
    造冰箱的大熊猫@cnblogs2024/6/181、文本文件推荐使用Meld软件Meld为开源软件,支持Linux和Windows,以并列窗口的形式显示两个或三个文件的内容差异,能够选择文件编码格式(比如GB2312或UTF-8)。非常好用,个人强烈推荐  2、二进制文件1)Linux下可以使用命令行工具diff,参见之前写......
  • 将sonaruqbe中配置所有项目的阻断严重级别的违规导出cvs文件中,对TOP问题形成解决方案
    1.遇到问题1-1.导出cvs文件乱码,解决办法:通过设置pycharm的文件编码为UTF-81-2.sonarqube提供的API接口,默认只展示第一页的100条数据,解决办法:经过测试,API接口每页最多展示500条数据,只支持20页展示,所以要对URL加参数细化结果,再通过翻页获取全部的数据,具体实现如下所示2.最终生......
  • 如何提取PDF文件的其中几页?
    如何提取pdf中的页面?在使用PDF文件时,如果我们只想要PDF中的几页,保存整个PDF是完全没有必要的,那么应该怎么做呢?其实只要提取PDF页面就可以了,那么提取操作具体应该怎么做呢?下面这篇文章肯定可以帮你解决疑惑!第一个方法在线拆分,不需要下载安装超方便。smallpdf中文版在线拆分操作方......
  • 查看mongo的bson数据文件
    转载请注明出处:BSON(BinarySerializedDocumentFormat)是MongoDB中用于存储和传输数据的一种二进制形式的存储格式,它基于JSON格式,但比JSON更松散,支持更多的数据类型。MongoDB使用BSON作为其文档的存储格式,这意味着当驱动程序使用文档进行插入、查询或其他操作时,会先将文档编......
  • 操作系统第三章处理机调度与死锁
    1.高级调度与低级调度的主要任务是什么,为什么要引入中级调度高级调度:根据某种算法,将外存上处于后备队列中的作业调入内存,创建进程,分配资源并置入就绪队列低级调度:根据某种算法,决定就绪队列中哪个进程应该获得处理机,并分派程序将处理机分配给被选中的进程中级调度:提高内存利用率......
  • Nginx下载大文件超时配置和请求超时配置等
    https://blog.csdn.net/weixin_42949219/article/details/139354348 Nginx下载大文件超时配置和请求超时配置等location/download{......proxy_bufferingoff; proxy_connect_timeout180s; proxy_send_timeout180s; proxy_read_timeout180s; proxy_se......
  • <转载>使用inotify-tools监控文件夹或文件的变动
    版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/ywd1992/article/details/106251339文章目录一、前言什么是inotify和inotify-tools检查系统是否支持inotify二、安装使用inotify-tools获取安装包......
  • 六、在Qt下通过PCL在VTK9.3.0下显示自己的pcd点云文件
    前几天刚整理好VTK8.2.0,发现我们的项目使用的PCL自带的VTK是9.3.0的,脸黑了快VTK8.2.0可参考该篇博文:五、在Qt下加载QVTKWidget控件(VTK8.2.0),生成VisualStudio项目,显示点云(C++)没办法,重新搞下VTK9.3.0区别:VTK8.2.0采用的是拖拽QVTKWidget控件进行相应的操作;VTK9.3.0把这个......
  • 轻松便捷,文件分享新选择,易易二维码
    在数字化快速发展的今天,文件分享与传输已经成为我们日常生活和工作中不可或缺的一部分。然而,随着文件体积的增大和数量的增多,如何高效、安全、便捷地分享文件成为了许多人头疼的问题。今天,我要向大家推荐一款革命性的在线工具——易易二维码,它将彻底改变你的文件分享体验。一、易......