图片base64编码(Java 保存图片到数据库时,为什么要对图片进行base64编码)

本文目录
Java 保存图片到数据库时,为什么要对图片进行base64编码
首先这是一种SB做法,图片保存到数据库这个很浪费数据库资源, 通常情况下图片等文件都是用ftp服务器来存储文件的. 为什么要用base64进行编码是因为, base64会把文件这个文件转换成字符串, base64编码后得到的是一组字符串, 为什么要用blob类型, 因为这个类型可以存储4GB数据, 数据库中普通的 varchar varchar2 text等类型都有长度的限制
对本地图片进行base64编码后再进行URL编码
《?php
$fileName = "a.gif";
//1.直接使用img标签显示
echo "《img src=’{$fileName}’/》";
//2.使用Base64;
# 获取图片文件的内容
$fileContents = file_get_contents($fileName);
# 对图片文件内容进行Base64编码
$fileBase64 = base64_encode($fileContents);
//a.使用img标签输出base64编码的图片(以下两种形式均可)
echo "《img src=’data:image/png;base64,{$fileBase64}’/》";
echo "《img src=’data:;base64,{$fileBase64}’/》";
//b.直接输出图片,但是要加image的header标签
//header(’content-type:image/gif’);
//echo base64_decode($fileBase64);
怎么得到图片的base64编码 - 技术问答
要实现这个功能,要使用canvas来做,Canvas里面提供了一个toDataURL的接口,可以用这个接口获得图片的base64。
所以思路是:
获得canvas对象
加载图片到canvas对象里面
从canvas对象中获取base64数据
给个例子:
《!DOCTYPE html》
《html lang="en"》
《head》
《meta charset="UTF-8"》
《title》Document《/title》
《/head》
《body》
《script type="text/javascript"》
function getBase64Image(img) {
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0, img.width, img.height);
var dataURL = canvas.toDataURL("image/png");
return dataURL
// return dataURL.replace("data:image/png;base64,", "");
}
function main() {
var img = document.createElement(’img’);
img.src = ’./images/yeoman.png’;
img.onload =function() {
var data = getBase64Image(img);
console.log(data);
}
document.body.appendChild(img);
}
main()
《/script》
《/body》
《/html》
然后可以在控制台看到base64的数据。

更多文章:
idea控制台乱码(idea 输出 System.out.println() 控制台乱码)
2026年10月14日 07:30
spring事务的作用(为什么要使用spring的事务,一般在什么情况下使用)
2026年10月14日 05:40
linux怎么进入命令行(怎么样配置linux使其启动时直接登录到命令行模式)
2026年10月14日 02:00
java培训机构好还是大学好(大学生想转行学java,该去java培训班还是自学呢)
2026年10月13日 23:30
前端面试必背十个点(资深HR揭秘:Web前端面试技巧有哪些)
2026年10月13日 17:50
sqlplus重置用户名密码(Oracle中的plus的用户名和密码忘了怎么办)
2026年10月13日 17:40



