后端存储为base64的还是存什么比较近合适

时间: 2024-04-03 07:33:55 浏览: 14
将图片存储为 Base64 编码的字符串,可以方便地将图片数据以文本的形式存储在数据库或者 JSON 数据中,但是也有一些缺点: 1. 占用存储空间:Base64 编码会使图片变大,通常会增加 33%。也就是说,如果原始图片大小为 1MB,编码后的字符串大小将为 1.33MB,这会占用更多的存储空间。 2. 加载速度慢:Base64 编码后的字符串需要先解码,才能显示图片,这会增加加载时间,尤其是对于大型图片来说,影响更加明显。 3. 不利于缓存:Base64 编码后的图片不能被浏览器缓存,每次访问时都需要重新加载。 相比之下,将图片存储在服务器上,然后在前端通过 URL 加载图片,更加适合实际应用中的需求。这样做的好处包括: 1. 占用存储空间更少:存储原始图片比存储 Base64 编码后的字符串要占用更少的存储空间。 2. 加载速度更快:加载图片的速度更快,因为不需要先解码。 3. 利于缓存:可以被浏览器缓存,再次访问时可以直接从缓存中读取,提高加载速度。 因此,通常情况下,建议将图片存储在服务器上,并通过 URL 加载图片。当然,对于一些小图标或者简单的图形,可以考虑使用 Base64 编码存储。
相关问题

uniapp将后端返回的base64下载为word文件

在 Uniapp 中,可以使用以下代码将后端返回的 base64 字符串下载为 Word 文件: ```javascript // 将 base64 字符串转换为 ArrayBuffer const base64ToArrayBuffer = (base64) => { const binary = atob(base64) const length = binary.length const buffer = new ArrayBuffer(length) const view = new Uint8Array(buffer) for (let i = 0; i < length; i++) { view[i] = binary.charCodeAt(i) } return buffer } // 将 ArrayBuffer 转换为文件并保存到本地 const saveBase64AsFile = (base64, filename) => { const arrayBuffer = base64ToArrayBuffer(base64) const blob = new Blob([arrayBuffer], { type: 'application/octet-stream' }) const url = URL.createObjectURL(blob) const link = document.createElement('a') link.href = url link.download = filename document.body.appendChild(link) link.click() document.body.removeChild(link) URL.revokeObjectURL(url) } // 下载 Word 文件 const downloadWordFile = () => { uni.request({ url: 'your api url', method: 'GET', responseType: 'arraybuffer', // 指定响应类型为 ArrayBuffer success: (res) => { const base64Str = btoa(new Uint8Array(res.data).reduce((data, byte) => data + String.fromCharCode(byte), '')) // 将 ArrayBuffer 转换为 base64 字符串 const filename = 'your filename.docx' saveBase64AsFile(base64Str, filename) }, fail: (err) => { console.log(err) } }) } // 调用示例 downloadWordFile() ``` 其中,`downloadWordFile` 函数使用 `uni.request` 发送 GET 请求获取后端返回的 Word 文件的二进制数据,指定响应类型为 ArrayBuffer,然后将 ArrayBuffer 转换为 base64 字符串,并调用 `saveBase64AsFile` 函数将其下载为 Word 文件。在调用 `btoa` 函数将 ArrayBuffer 转换为 base64 字符串时,需要先将 ArrayBuffer 转换为 Uint8Array 类型,再使用 `reduce` 方法将其转换为字符串。

java后端 blob转base64

可以使用Java的Base64类将Blob转换为Base64编码的字符串,例如: ```java Blob blob = resultSet.getBlob("blob_column"); byte[] bytes = blob.getBytes(1, (int) blob.length()); String base64String = Base64.getEncoder().encodeToString(bytes); ``` 注意要导入java.util.Base64类。

相关推荐

最新推荐

recommend-type

Thymeleaf显示base64字符串为图片.docx

在网页中把Base64字符串显示为图片很容易,但是当前台使用Thymeleaf框架时,就得绕个小弯子,直接使用html框架中的方法不行,本文详解了用Thymeleaf显示Base64字符串为图片的方法,望对大家有所帮助。
recommend-type

基于Java实现文件和base64字符串转换

主要介绍了基于Java实现文件和base64字符串转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
recommend-type

vue项目base64字符串转图片的实现代码

主要介绍了vue项目base64字符串转图片的实现代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
recommend-type

Python实现base64编码的图片保存到本地功能示例

主要介绍了Python实现base64编码的图片保存到本地功能,涉及Python针对base64编码解码与图形文件输出保存相关操作技巧,需要的朋友可以参考下
recommend-type

Java实现文件和base64流的相互转换功能示例

主要介绍了Java实现文件和base64流的相互转换功能,涉及Java文件读取及base64 转换相关操作技巧,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

HSV转为RGB的计算公式

HSV (Hue, Saturation, Value) 和 RGB (Red, Green, Blue) 是两种表示颜色的方式。下面是将 HSV 转换为 RGB 的计算公式: 1. 将 HSV 中的 S 和 V 值除以 100,得到范围在 0~1 之间的值。 2. 计算色相 H 在 RGB 中的值。如果 H 的范围在 0~60 或者 300~360 之间,则 R = V,G = (H/60)×V,B = 0。如果 H 的范围在 60~120 之间,则 R = ((120-H)/60)×V,G = V,B = 0。如果 H 的范围在 120~180 之间,则 R = 0,G = V,B =
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。