当前位置: 首页 > news >正文

seo网站改版方案怎么写如何做网站内部优化

seo网站改版方案怎么写,如何做网站内部优化,wordpress图片放大代码,南京设计网站建设文章目录一、技术方案二、前端具体实现代码分析转换逻辑注意事项一、技术方案 后台返回 base64 数据 {code: 0,data: "base64;...", }前端进行数据格式转化并下载成 Excel 文件 这篇文章主要介绍第二个步骤的实现。 二、前端具体实现 代码 src/utils/transform…

文章目录

  • 一、技术方案
  • 二、前端具体实现
    • 代码
    • 分析
      • 转换逻辑
      • 注意事项

一、技术方案

  1. 后台返回 base64 数据
{code: 0,data: "base64;...",
}
  1. 前端进行数据格式转化并下载成 Excel 文件

这篇文章主要介绍第二个步骤的实现。

二、前端具体实现

代码

src/utils/transformat.ts

export function base64ToBlob(base64: string, mimeType) {const byteCharacters = atob(base64)const byteNumbers = new Array(byteCharacters.length)for (let i = 0; i < byteCharacters.length; i++) {byteNumbers[i] = byteCharacters.charCodeAt(i)}const byteArray = new Uint8Array(byteNumbers)return new Blob([byteArray], { type: mimeType })
}

src/pages/test.tsx

 const handleDownload = (file: Blob) => {const fileName = `test_${Date.now()}.xlsx`const element = document.createElement("a")element.href = URL.createObjectURL(file)element.download = fileNamedocument.body.appendChild(element)element.click()document.body.removeChild(element)}
const onClick = () => {getFileContent(id).then((res) => {if (res.code === 0) {const blob = base64ToBlob(res.data,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")handleDownload(blob)} else {console.error('download failed...')}})
}

分析

转换逻辑

React 本身并没有提供直接的 base64 → Blob → 下载 的 API,因为这是浏览器原生能力。但是浏览器里有几个通用 API 可以用来处理:

  1. atob / btoa

    • atob(base64):把 base64 字符串解码为普通字符串(二进制仍然是字符串形式)。
    • btoa(string):把字符串编码为 base64。
    • ⚠️ 注意:只能处理 非 UTF-8 的 ASCII 字符,遇到中文等多字节字符会报错。
  2. Blob

    • 接着可以把 Uint8ArrayArrayBuffer 转成 Blob

    • 下载文件时常用:

      const blob = new Blob([uint8Array], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" });
      
  3. URL.createObjectURL

    • 最后把 Blob 转成一个临时的 URL,用于 <a> 下载。

      const url = URL.createObjectURL(blob);
      

注意事项

  • MIME 类型要正确,Excel 用:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • PDF 用:application/pdf
  • base64 一般比较大,建议后端尽量返回二进制(Blob 流),效率更高。
  • 如果后端要传 base64,最好用 gzip 压缩后再传,否则网络传输会膨胀 30% 左右。
http://www.dtcms.com/a/549154.html

相关文章:

  • 找婚庆公司去什么网站亚马逊雨林动物大全
  • 基于百度地铁 API 的长沙地铁站点详情查询与路线导航实践
  • C# 继承
  • Ubuntu 24.04 从源码编译 dcgm-exporter
  • 【软件测试基础】详解数据库核心操作:增删改查,及测试关注点
  • 建网站服务厦门市建设路网站
  • 大模型-多模态机器学习
  • JavaSE基础——第十三章 泛型
  • 从传统到未来:Java在现代开发中的新价值与进化方向
  • 设置linux公钥,私钥登录ssh登录
  • html的网站案例wordpress文章彩色字体
  • set/map刷力扣题/(哈希表+排序类型)仿函数和捕获-两种方法解决
  • 基于单片机与 DeepSeek-OCR 的盲人辅助阅读器设计与实现
  • 淘客网站cms怎么做肥乡专业做网站
  • 【底层机制】Android GC -- 为什么要有GC?GC的核心原理?理解GC的意义
  • 自动驾驶中的传感器技术76——Navigation(13)
  • 鸿蒙Flutter三方库适配指南: 05.使用Windows搭建开发环境
  • 律所网站建设方案书怎么写网站制作排名优化
  • 谷歌网站排名搭建一个平台要多少钱
  • 使用Node.js连接 OPC UA Server
  • h5游戏免费下载:保护堆芯
  • 怎么看网站关键词排名恩施网站制作
  • Jenkins 持续集成与部署
  • 企业查询网站有哪些深圳工业产品设计公司
  • 解析平面卷积/pytorch的nn.Conv2d的计算步骤,in_channels与out_channels如何计算而来
  • 医疗器械经营许可证识别技术通过OCR与AI技术实现资质信息自动提取,显著提升行业效率与合规管理水平
  • Lombok 不生效 —— 从排查到可运行 Demo(含实战解析)
  • 【自然语言处理】预训练02:近似训练
  • 具身智能革命:富唯智能如何用“认知机器人”重塑柔性智造新纪元
  • 孤能子视角:文明演化的适配性考验——从EIS理论看中美技术路径分野