首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

react上的编码原始docx base64字符串预览

在React上预览编码原始docx base64字符串,可以通过以下步骤实现:

  1. 首先,将base64字符串转换为Blob对象。可以使用atob函数将base64字符串解码为二进制数据,然后创建一个Uint8Array数组,并将解码后的数据存入其中。接下来,使用new Blob构造函数将Uint8Array数组转换为Blob对象。
代码语言:txt
复制
const base64ToBlob = (base64String) => {
  const binaryString = atob(base64String);
  const bytes = new Uint8Array(binaryString.length);
  for (let i = 0; i < binaryString.length; i++) {
    bytes[i] = binaryString.charCodeAt(i);
  }
  return new Blob([bytes], { type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' });
};
  1. 然后,使用URL.createObjectURL方法创建一个临时的URL,将Blob对象转换为可预览的URL。
代码语言:txt
复制
const blobToPreviewURL = (blob) => {
  return URL.createObjectURL(blob);
};
  1. 在React组件中,可以使用useEffect钩子来处理base64字符串的转换和URL的创建。在组件加载时,将base64字符串转换为Blob对象,并将Blob对象转换为预览URL。在组件卸载时,记得释放URL资源。
代码语言:txt
复制
import React, { useEffect, useState } from 'react';

const DocxPreview = ({ base64String }) => {
  const [previewURL, setPreviewURL] = useState('');

  useEffect(() => {
    const blob = base64ToBlob(base64String);
    const url = blobToPreviewURL(blob);
    setPreviewURL(url);

    return () => {
      URL.revokeObjectURL(url);
    };
  }, [base64String]);

  return (
    <div>
      {previewURL && <iframe src={previewURL} title="Docx Preview" width="100%" height="600px" />}
    </div>
  );
};

这样,通过将base64字符串转换为Blob对象,并使用预览URL在React组件中显示docx文件的内容。请注意,上述代码中的application/vnd.openxmlformats-officedocument.wordprocessingml.document是docx文件的MIME类型,确保正确设置以确保正确的预览。

对于React开发,可以使用腾讯云的云开发平台(CloudBase)来构建和部署React应用。CloudBase提供了Serverless架构,无需关心服务器运维和扩展性,同时提供了丰富的云服务和工具,如云函数、云数据库、云存储等,可满足前端开发的各种需求。

参考链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Base64编码字符串与图片互转

用Flex写了一个例子,图片(暂时仅支持png、jpg/jpeg)转成base64编码字符串(默认取上传文件后缀名,然后添加了“data:image/(png|gif|jpg|jpeg);base64...,”) 可以直接复制出编码字符串,在网页中使用就可以预览效果了 在另一个输入框中,输入base64编码格式字符串,点击解码,会解析得到相应图片(不过程序默认将...jpg质量为100进行转换--普通使用是60),可以选择保存解码出来后图片 (解码一次只能点击一次保存,这里似乎有bug,有空再研究) 唯一不太靠谱是:在解码之后加载图片,没有什么好属性或是方法直接获取...代码中是直接写死了对应一个值(在网上搜索byteArray得到真实文件类型,但文章中没有指出什么值对应是png或是jpg)。...一个是正向编码,一个是反向根据解析字符串得到byteArray,然后使用图片加载它,具体实现可以参考代码(就一个主mxml文件,其它包其实可以使用flex自带) 下载地址>> 下载完成后,解压可找到文件夹目录

1.5K10

在线Base64转文件与文件转Base64工具

无论您需要将图片、文档、音频等各类文件转换为Base64格式以便于网络传输,还是需要将接收到Base64字符串还原为原始文件,该工具都能轻松胜任。...二、主要功能文件转Base64:用户只需上传本地文件,工具即可自动将其内容进行Base64编码,生成可以直接复制粘贴Base64字符串。...Base64转文件:对于已有的Base64字符串,用户可将其复制粘贴至指定区域,工具会快速解码并生成对应文件,支持多种常见文件类型,如.jpg、.png、.pdf、.docx等。...• 确认文件上传成功后,工具将自动进行Base64编码,并在界面显示转换后字符串,您可以直接复制使用。Base64转文件:• 在相应输入框内,粘贴准备好Base64编码字符串。...• 根据原文件类型选择正确输出格式,然后点击“转换”按钮。• 转换完成后,点击下载链接,即可保存还原出原始文件到您设备

2K10

【js】Mammoth.js使用:将.docx 文件转换成HTML

docx文档预览 FileReader 对象 Blob对象 只能转换.docx文档,转换过程中复杂样式被忽略。...mammoth.extractRawText(input) :提取文档原始文本。这将忽略文档中所有格式。每个段落后跟两个换行符。 Demo HTML文件 <!...简单理解为存放了一段二进制数据内存空间 readAsBinaryString(file) 异步按字节读取文件内容,结果为文件二进制串 readAsDataURL(file) 结果用data:url字符串形式表示...【base64编码后输出】 事件 描述 onload 读取成功完成时调用 使用: let input = document.getElementById('input'); input.onchange...file); reader.onload = function(){ //读取完成 console.log(this.result);// this.result 为结果 } } 应用场景: 1.在线预览本地文件

9.1K20

bugbounty技巧-奇奇怪怪任意文件读取

bugbounty技巧-奇奇怪怪任意文件读取0x01 直接跨目录造成任意文件读取0x02 通过编码xxe实现任意文件读取在保存数据时候,发现向服务器发送了如下请求请求格式类似于base64,尝试解码...,发现的确是base64。...ENTITY xxe SYSTEM "file:///etc/passwd">]>并从正文中调用定义实体xxe,如下图所示:替换了原始请求中负载并将请求转发给服务器。...成功利用,读取到了/etc/passwd0x03 通过docx进行xxe攻击实现任意文件读取制作恶意xlsx(红框内语法可按需修改):这个触发点位于那些“在线预览”功能,上传我们制作好恶意文档,...unzip test.xlsxzip -r test.xslx *上传后预览文档,触发漏洞免责声明:「由于传播、利用本公众号虫洞小窝所提供信息而造成任何直接或者间接后果及损失,均由使用者本人负责,

26100

一个没什么用转义技巧

$(base64 foo.docx)", "type": "docx"}' 如上,我想把文件 foo.docx 内容通过 base64 编码,然后放到 json 字符串里,但是它并不能正常工作,因为它是一个单引号字符串...当然可以,但是因为 json 本身包含很多双引号,所以免不了转义: shell> echo "{\"content\": \"$(base64 foo.docx)\", \"type\": \"docx...\"}" 不瞒大家说,我最开始写出如上代码时候,脑瓜子嗡嗡,好在最后我想到了一个绝妙解决方法:既然用双引号字符串不可避免会带来转义问题,那么就放弃双引号字符串,而是使用单引号字符串,然后把里面的命令用单引号包起来...: shell> echo '{"content": "'$(base64 foo.docx)'", "type": "docx"}' 为什么这样可以?...其实如上单引号字符串实际是三个字符串,分别是: 「'{“content”: “‘」 「$(base64 foo.docx)」 「'”, “type”: “docx”}’」 与其说是用单引号把命令包起来

42820

基于SpringBoot文件在线预览神器,可支持99%常用文件在线预览

kkFileView简介 kkFileView可以用来搭建文件在线预览服务,在Github已有5.7k+Star。...该项目使用流行SpringBoot搭建,易上手和部署,基本支持主流办公文档在线预览,如docx、xlsx、pptx、pdf、txt、zip、图片、视频、音频等等。项目特性可以参考下图。...url需要进行base64编码才可以; http://192.168.7.109:8012/onlinePreview?...url=base64Encode($url) 接下来我们来预览个图片试试,首先获取图片访问地址; 然后找个网站把url进行base64编码,我使用是这个:https://tool.oschina.net...pdf和JPG来实现预览; 再来预览下pdf文档,和上面两个并没有啥区别; 再来预览下excel文档,这预览效果有待提高; 再来预览下纯文本Markdown文档; 最后再来预览下压缩文件,支持查看压缩文件中内容

1.8K60

SpringBoot实现万能文件在线预览,已开源,真香!!

kkFileView简介 kkFileView可以用来搭建文件在线预览服务,在Github已有5.7k+Star。...该项目使用流行SpringBoot搭建,易上手和部署,基本支持主流办公文档在线预览,如docx、xlsx、pptx、pdf、txt、zip、图片、视频、音频等等。项目特性可以参考下图。...url需要进行base64编码才可以; http://192.168.7.109:8012/onlinePreview?...url=base64Encode($url) 接下来我们来预览个图片试试,首先获取图片访问地址; 然后找个网站把url进行base64编码,我使用是这个:https://tool.oschina.net...pdf和JPG来实现预览; 再来预览下pdf文档,和上面两个并没有啥区别; 再来预览下excel文档,这预览效果有待提高; 再来预览下纯文本Markdown文档; 最后再来预览下压缩文件,支持查看压缩文件中内容

1.4K10

【前端知乎】445- File FileList 和 FileReader 对象详解

概念介绍 FileReader 对象允许 Web 应用程序异步读取存储在用户计算机上文件(或原始数据缓冲区)内容,使用 File 或 Blob 对象指定要读取文件或数据。...FileReader.readAsBinaryString():读取完成后, result 属性将返回原始二进制字符串。...FileReader.readAsDataURL():读取完成后, result 属性将返回一个 Data URL 格式(Base64 编码字符串,代表文件内容。...对于图片文件,这个字符串可以用于元素 src 属性。注意,这个字符串不能直接进行 Base64 解码,必须把前缀 data:*/*;base64 ,从字符串里删除以后,再进行解码。...该方法第一个参数是代表文件 Blob 实例,第二个参数是可选,表示文本编码,默认为 UTF-8。 4. 兼容性 ? FileReader对象兼容性.png 5.

1.5K30

剪切板图片粘贴上传

react等前端框架已被广泛应用于各类在线协作平台,webapp中,谁又还能说前端很简单呢?...在以前,对于上传实现,最原始做法就是通过在form表单中放置type为fileinput标签,然后用户选择后提交上传,但是页面在提交时候会刷新,这种用户体验非常不友好,后来出现了xmlRequest...item并调用getAsFile方法得到文件对象,拿到file 对象后我们有两种选择: (1)通过fileReader得到文件对象base64字符串,实现代码: var reader = new FileReader...(); reader.onload = function(e){ // 通过e.target.result取到base64然后上传 // 作为src设到image标签上预览 } reader.readAsDataURL...(file); //此处file为上面得到文件对象 在得到了base64字符串后我们可以传递给后端,后端接受base64并存储,如果我们需要在上传前或者上传过程中预览图片,可以直接将上面得到base64

2.7K10

每日问题

答: properties: reactprops data: reactstate 6. box-shadow 这是一个老生常谈问题,总是记不住 box-shadow: h-shadow...2019.12.27 15.微信小程序 canvas绘制不能绘制Base64数据图片 生成海报时,后端返回base64格式二维码,发现3在canvas绘制失败,导致下载失败。...git checkout --ours采用当前更改 git checkout --theirs采用传入更改 例如: $ git merge B #试图将B分支合并到A分支,会提示test.docx...合并冲突 $ git checkout test.docx --ours #保留A分支(当前分支)改动 $ git add test.docx #提交改动后文件 $ git commit...-m "解决了test.docx冲突,保留了A分支改动" 17.修复小程序ios类似下拉通知或进入控制中心再回来音频不播放bug 可以用wx.onAudioInterruptionBegin

1.7K20

“白象”APT组织近期动态

当用户打开该文档后,显示提示在输入栏输入密码KEY,再点击左上方图标即可完成解锁。实际该输入栏为文本框,且图标为内嵌OLE对象,该对象在点击后便会触发。 ? 3....QuasarRAT木马采用C#编写,但最新发现木马外层添加了一段Loader代码。Loader代码主要功能是反检测反沙箱功能,并在最后加载原始QuasarRAT木马。...取出“[[”和“]]”中间Base64字符串,经过两次base64解码和数次解密后得到样本需要连接C&C地址。 4. 拼凑主机上线信息发送到C&C服务器硬编码地址。...在使用base64编码后还对编码数据固定偏移位置插入”=”和”&”字符。 ? 6....创建线程,将键盘记录信息,窗口信息等保存为临时目录下TPX498.dat。 8. 上述保存为dat文件数据,同样使用上述AES加密算法+base64编码发送。

1.3K40

kkFileView4.0.0向下兼容修改实现统一对外服务

# 问题原因 部分项目使用 2.x 版本 kk 是使用base64 编码 url,而新版 4.0.0 则是需要传入编码 url 才可以支持预览。...这种方法缺点就是预览服务和使用方需要同时修改代码,但是使用方修改量较小。 # 不额外传参 利用 url 本身内容是否是经过 base64 编码来区分处理。...# 修改方法 修改关键就是判断字符串是否是经过 base64 加密:将字符串解密后再将解密字符串加密回去与原来值做比较,如果相同就是 base64。...str) { // 将字符串解密后再将解密字符串加密回去与原来值做比较 如果相同就是base64 try { String decodeStr = new String...# 总结 本次修改是为了向下兼容非 base64 编码文件地址,所以是服务降级,有可能出现奇葩文件名预览问题。

71230

JavaCV摄像头实战之十四:口罩检测

,该限制是十次 其次,经过实测,一次人脸检测接口耗时300ms以上 最终,实际一秒钟只能处理两帧,这样效果在预览窗口展现出来,就只能是幻灯片效果了(低于每秒十五帧就能感受到明显的卡顿) 因此,本文只适合基本功能展示...:图片base64值,base64编码图片数据,编码图片大小不超过2M; // URL:图片 URL地址( 可能由于网络等原因导致下载图片时间过长); // FACE_TOKEN...; /** * 图片base64字符串 */ private String base64Str; /** * 百度云服务 */...convert方法中,拿到frame实例后会转为base64字符串,用于提交到百度AI开放平台做人脸检测 百度AI开放平台检测结果中有多个人脸检测结果,这里要逐个处理:取出每个人脸位置,以此位置在原图画矩形框...编码前先回顾父类基础结构,如下图,粗体是父类定义各个方法,红色块都是需要子类来实现抽象方法,所以接下来,咱们以本地窗口预览为目标实现这三个红色方法即可: 新建文件PreviewCameraWithBaiduCloud.java

81820

SpringBoot:kkFileView万能文件在线预览(已开源)

kkFileView简介 kkFileView可以用来搭建文件在线预览服务,在Github已有5.7k+Star。...该项目使用流行SpringBoot搭建,易上手和部署,基本支持主流办公文档在线预览,如docx、xlsx、pptx、pdf、txt、zip、图片、视频、音频等等。项目特性可以参考下图。...url需要进行base64编码才可以; http://192.168.7.109:8012/onlinePreview?...url=base64Encode($url) 接下来我们来预览个图片试试,首先获取图片访问地址; 然后找个网站把url进行base64编码,我使用是这个:https://tool.oschina.net...由于它是通过将word、ppt文档转化为pdf来实现预览,如果你对Office文档预览没有特别高要求,完全可以使用它搭建一个全能文件在线预览服务!

82610
领券