资源简介
图片BASE64加密保存到数据库Blob类型中(放入数据库,并取出生成图片),完整的demo例子,可运行。
代码片段和文件信息
package org.pic;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import sun.misc.base64Decoder;
import sun.misc.base64Encoder;
public class SavePic {
public static Connection conn = null;
public static PreparedStatement pStmt = null;
/**
* 数据库中加入图片等文件
*/
public static void InsertPic() {
String sql = “insert into TEACHER(IDNAMEPHOTObase64PHOTO) values(‘1‘???)“;
try {
Class.forName(“oracle.jdbc.driver.OracleDriver“);
conn = DriverManager.getConnection(
“jdbc:oracle:thin:@//192.168.1.183:1521/orcl“
“LWW“ “lww“);
pStmt = conn.prepareStatement(sql);
pStmt.setString(1 “Lily“);// 设置字段NAME值
// 数据库插入图片/word/excel等
File file = new File(“src/pic.jpg“);
FileInputStream fis = new FileInputStream(file);
//创建一个和文件大小一样的缓冲区
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
pStmt.setBytes(2 buffer);//内容设置到字段PHOTO中
System.out.println(“未加密图片长度:“+fis.available());
String base64 = new base64Encoder().encode(buffer);
System.out.println(“加密后图片长度:“ +base64.length());
pStmt.setBytes(3 base64.getBytes());//内容设置到字段base64PHOTO中
int n = pStmt.executeUpdate();
System.out.println(n + “条记录插入“);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException| IOException e) {
e.printStackTrace();
} finally {
try {
pStmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 从数据库中取出图片等文件
*/
public static void getPic() {
String sql = “select IDNAMEPHOTObase64PHOTO from TEACHER where ID=?“;
try {
conn = DriverManager.getConnection(
“jdbc:oracle:thin:@//192.168.1.183:1521/orcl“
“LWW“ “lww“);
pStmt = conn.prepareStatement(sql);
pStmt.setString(1 “1“);
ResultSet rs = pStmt.executeQuery();
if (rs.next()) {
System.out.println(“ssssssssss“);
//获取图片字段
// FileOutputStream fos = new FileOutputStream(new File(“abc.jpg“));
// InputStream is = rs.getBinaryStream(“photo“);
//
// byte[] buffer = new byte[4 * 1024];
// int length = 0;
// while ((length = is.read(buffer)) != -1) {
// fos.write(buffer 0 length);
// }
//获取图片加密字段内容,并进行base64解密
FileOutputStream fos = new FileOutputStream(new File(“abcbase64.jpg“));
byte[] basebt = rs.getBytes(“base64photo“);
System.out.println(“加密:“ +basebt.length);
byte[] by = new base64Decoder().decodeBuffer(new String(basebt));
System.out.pr
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 457 2018-12-13 14:43 Total\.classpath
文件 381 2018-11-29 16:22 Total\.project
文件 598 2018-11-29 16:22 Total\.settings\org.eclipse.jdt.core.prefs
文件 5035 2018-12-13 17:02 Total\bin\org\pic\SavePic.class
文件 5369934 2018-08-10 09:13 Total\bin\pic.jpg
文件 2111220 2018-12-13 11:01 Total\lib\ojdbc6.jar
文件 3971 2018-12-13 17:02 Total\src\org\pic\SavePic.java
文件 24535 2018-12-13 11:59 Total\src\pic.jpg
目录 0 2018-12-13 14:43 Total\bin\org\pic
目录 0 2018-12-13 17:02 Total\src\org\pic
目录 0 2018-12-13 17:02 Total\bin\org
目录 0 2018-12-13 17:02 Total\src\org
目录 0 2018-11-29 16:22 Total\.settings
目录 0 2018-12-13 17:02 Total\bin
目录 0 2018-12-13 11:01 Total\lib
目录 0 2018-12-13 17:03 Total\src
目录 0 2018-12-13 17:03 Total
----------- --------- ---------- ----- ----
7516131 17
相关资源
- POI导出带图片的excel
- net图片上传图片合成水印(非常不错
- VS2010 用CxImage读入各种图片格式后在内
- PhotoZoom.Pro.v6.0.4 单文件中文版
- opencv计算机视觉编程攻略图片集
- bmob上传图片的小demo
- QT连续显示多幅图片看起来像动画
- struts2图片单张和多张上传功能
- 个人设置里面更改头像图片
- 多种FLASH图片切换效果
- AS3 仿苹果滑动图片菜单
- 图片选择+多图上传
- 双目立体视觉标准匹配图片以及视差
- 教室人数统计GUI图片,摄像头.zip
- mui图片预览Dome.rar
- 图片浏览带水平滑动的GridView和带ga
- 官方原版非图片版BSENIEC61131-10-2019.p
- ArcGis把jpg、png格式地图图片转换为t
- STM32F103 读取SD卡中的图片TFT彩屏显示
- 字库制作软件和图片取模工具
- 剪切好的车牌图片
- 图片属性修改工具PhotoInfoEx_V1.27
- 信息隐藏标准测试图片库
- 用ORB SLAM2跑自己的图片序列数据集
- 医学图像处理的医学图片
- 电商视频图片采集助手(支持淘宝 天
- 手写数字JPG图片10000张
- Qt循环播放一组图片
- qt环境下使用opencv打开双摄像头并保存
- 网络通讯协议关系图[中文珍藏版][P
评论
共有 条评论