不同文件类型转base64后的前缀

2023-10-27

写在前面:最近在做office文件上传,需求是这样的,若前端用户上传的是PDF文件,则后端将PDF的第一页转成图片返给前端;若用户上传的是word,Excel文件,前端将文件的base64传给后端,后端将文件转成PDF,并将第一页转成图片返给前端。

吸取图片,和pdf的经验,自以为所有格式的文件转成base64后都是相似的,例如 pdf的 base64 格式为 data:application/pdf;base64,
酱紫,在上传word和Excel时后端解析就出现了问题。查阅相关文档后发现不同类型文档,所生成的base64前缀是不同的。

下面啦总结一下不同文件类型所对应的base64格式

office文档

文件后缀 前缀格式
.doc data:application/msword;base64,
docx data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,
.xls data:application/vnd.ms-excel;base64,
xlsx data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,
.pdf data:application/pdf;base64,
.ppt data:application/vnd.ms-powerpoint;base64,
pptx data:application/vnd.openxmlformats-officedocument.presentationml.presentation;base64,
.txt data:text/plain;base64,

图片

文件后缀 文档类型
.png data:image/png;base64,
.jpg data:image/jpeg;base64,
.gif data:image/gif;base64,
.svg data:image/svg+xml;base64,
.ico data:image/x-icon;base64,
.bmp data:image/bmp;base64,

致谢

感谢 阿小星 文章指导。

说明

侵权毕删,也欢迎大家查漏补缺。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不同文件类型转base64后的前缀 的相关文章

  • 从 thymeleaf 获取数据到模态引导程序、jquery

    我正在尝试获取模态视图的 id 这是为了更新 onclick 元素 但我找不到方法 知道如何为 boostrap 5 完成此操作 或我可以用其他方法吗 谢谢 tr a inactivate a div class modal fade mo
  • dojo dijit.form.DateTextBox 约束不起作用,datetextbox

    嗨 我是 javascript 和 dojo 的新手 我正在尝试使用两个带有下拉日历的 dijit DateTextBox 来建立数据库查询的日期范围 一旦选择了开始日期或结束日期 我想限制可用的日期 以便不可能选择按时间顺序排列在开始日期
  • 如何检测浏览器是否支持自定义元素

    我正在查看 Modernizr 它应该有助于功能检测 这应该可以帮助确定您的网站是否与给定的 Web 浏览器兼容 但我没有看到任何表明我可以使用它来检测自定义 HTML 的内容我们在内容中创建和定义的元素 如果不是 Modernizr 我如
  • 如何在同一页面上使用AJAX处理多个表单

    我有一个表单 当我单击 提交 时 它就被提交了 然后该表单隐藏 操作页面的结果显示在 div 中 classname dig 它工作正常 但是当我添加另一个表单时 它停止正常工作并且所有表单同时提交 我如何更改我的代码 done click
  • 使用 vscode 调试器调试 next.js

    我已经使用安装了一个项目创建下一个应用程序 https github com segmentio create next app 我需要使用我的编辑器 vscode 调试服务器端渲染 所以我访问过vscode recipes 如何调试 ne
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 我想检查 $('#td1').text() === "x" 是否?

    我想检查innerHtml是否有X或O 所以我不能再次添加任何其他东西 但它不起作用 添加检查代码后它就停止了 我在这里尝试做一个简单的XO游戏来更熟悉javascript和jquery 我也不确定是否可以用 jQuery 做到这一点
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • Google App Engine:修改云运行环境

    我正在尝试部署一个使用自定义 Node js 服务器的 Next js 应用程序 我想将自定义构建变量注入应用程序 next config js const NODE ENV process env NODE ENV const envTy
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • 为什么我不能在 AngularJS 中使用 data-* 作为指令的属性名称?

    On the t他的笨蛋 http plnkr co edit l3KoY3 p preview您可以注意到属性名称模式的奇怪行为data 在指令中 电话 Test of data named attribute br
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成

随机推荐

  • 新方案unity配表工具

    工具下载 网盘链接 工具结构 针对每张表格生成一个表格类 其中默认包含一个list和字典类型参数记录表格数据 初始化项目时将list中的数据转为按id索引的dictionary 用于访问数据 额外包含一个同名Temp后缀的类 记录表格的字段
  • Session详解,学习Session(包含底层分析和使用)

    什么是session session在网络应用中称为 会话控制 是服务器为了保存用户状态而创建的一个特殊的对象 简而言之 session就是一个对象 用于存储信息 session和cookie的比较 cookie保存在客户端 session
  • C# 数据库存储过程的讲解应用

    在使用VS 2012 SQL Server做简单的销售系统中 通常会遇到一些使用存储过程的情况 那究竟什么是存储过程 它的好处是什么呢 如果在SQL Server中创建一个存储过程 C 中怎样联系存储过程呢 一 存储过程 存储过程 Stor
  • C++类和对象上篇

    面向过程和面向对象的初步认识 C语言是面向过程的 关注点在于过程 分析出求解问题的步骤 通过函数调用逐步解决问题 C 是面向对象的 关注点在于对象 将一件事拆分成不同的对象 靠对象之间的交互完成 我们就外卖系统来看看面向过程和面向对象之间的
  • RabbitMQ提示错误:java.net.SocketException socket closed

    RabbitMQ提示错误 java net SocketException socket closed问题 原因是配置的用户权限问题 rabbitmq包括很多种权限 需要把在项目中配置的账户修改为management类型 权限规则 http
  • flutter开发实战-MethodChannel实现flutter与iOS双向通信

    div class markdown views div
  • 对于cin提取输入流遇到空格的问题

    引子老谭CPP教材 流提取符 gt gt 从流中提取数据时通常跳过流中的空格 tab键换行符等空白字符 P430页倒数第10行 13 3 1 cin流 用cin gt gt 读取数据时遇到空白字符 包括空格 tab键和回车 作为终止字符 P
  • Eigen学习教程(三)

    Eigen学习教程 三 3 稠密线性问题与分解 本节说明了如何求解线性系统 计算各种分解 例如LU QR SVD 本征分解 阅读此节后 请不要错过我们的密集矩阵分解目录 基本线性求解 Ax b 该解决方案 可将各种分解之间进行选择 取决于你
  • 计算机英特尔显卡在哪找,Win10英特尔显卡设置在哪里 英特尔核芯显卡控制面板六大功能详解...

    Win10系统用户体验相比以前的系统更好 有些用户为了让显卡发挥作用 会在win10里设置显卡功能 显卡设置在哪里 显卡控制面板 显卡控制面板有Intel AMD NVADIA三种 我们通过显卡的控制面板进行显卡更为高级的设置 这时我们就需
  • MATLAB快速入门(一)

    一 简介 本篇参考官方入门文档编写 前提准备 MATLAB 二 快速入门 一 1 桌面基础知识 启动 MATLAB 时 桌面会以默认布局显示 桌面包括下列面板 当前文件夹 访问您的文件 命令行窗口 在命令行中输入命令 由提示符 gt gt
  • c++--标准模板库(STL)

    要看懂STL相关 必须了解c 模板 目录 STL是什么 c 标准模板库包含三个组件 算法 迭代器 迭代器的种类 示例程序 容器 常用的容器 编程练习 string 字符串容器 vector 向量 list 双向链表容器 queue 队列容器
  • Excel 的那些事儿啊

    RIGHT 函数 功能 可以对数值 字符串 进行截取 是从后面开始截取的 语法 RIGHT 截取的数值 截取的个数 使用 例如我们想提前 ID 列中数值的后面的数字 可以使用该函数 1 书写函数 RGIHT A3 3 对 A3 单元格进行截
  • mysql中on duplicate key update用法(批量操作数据、存在更新,不存在则新增),附mybatis配置

    1 应用场景 日常开发中 对于一个数据想做到存在即更新 不存在则新增 通常的做法是先查询数据库中是否存在对应的数据 如果存在就使用更新的方法 不存在就使用新增的方法 如果是单个数据 倒也没什么问题 但如果是批量数据的话 会消耗大量的资源来进
  • 字符串截取之substring_index

    substring index str delim count str 要处理的字符串 delim 分隔符 count 计数 例子 str www wikidm cn substring index str 1 结果是 www substr
  • 自主开发悟空crm增加 公文管理功能 二次开发代码披露

    1 招聘需求 2 审核刚刚创建的招聘需求内容 3 编辑内容 4 简历管理 5 面试记录时间轴 6 offer管理
  • golang interface判断为空nil

    一个接口包括动态类型和动态值 如果一个接口的动态类型和动态值都为空 则这个接口为空的 func IsNil i interface bool vi reflect ValueOf i if vi Kind reflect Ptr retur
  • 【性能测试】性能测试之性能测试指标详解(详细)

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • 华为数通方向HCIP-DataCom H12-831题库(单选题:21-40)

    第21题 R3与R1的IS IS邻居没有建立 根据本图的信息 可能的原因是 A R3与R1的IIH认证失败 B R3与R1的System ID重复 C R3与R1的IS Level不匹配 D R3与R1的互连接口circuit type不匹
  • 1282、用户分组

    题目描述 有 n 位用户参加活动 他们的 ID 从 0 到 n 1 每位用户都 恰好 属于某一用户组 给你一个长度为 n 的数组 groupSizes 其中包含每位用户所处的用户组的大小 请你返回用户分组情况 存在的用户组以及每个组中用户的
  • 不同文件类型转base64后的前缀

    写在前面 最近在做office文件上传 需求是这样的 若前端用户上传的是PDF文件 则后端将PDF的第一页转成图片返给前端 若用户上传的是word Excel文件 前端将文件的base64传给后端 后端将文件转成PDF 并将第一页转成图片返