java 向数据库中保存图片
Part1 : 保存图片到数据库中
import java.io.*;
import java.sql.*;
public class PutImg {
public void putimg(String filename) {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydefault","root","skychen");
PreparedStatement pstmt = null;
String sql = "";
File file = new File(filename);
InputStream photoStream = new FileInputStream(file);
//sql = " UPDATE imgt SET img = ? ";
sql = "INSERT INTO imgtable (id,img) VALUES (1,?)";
//insert into images(PicNum,Content,Image) values(1,?,?)
pstmt = con.prepareStatement(sql);
pstmt.setBinaryStream(1,photoStream,(int)file.length());
//需获取文件输出流及其大小
pstmt.execute();
pstmt.close();
con.close();
} catch (Exception e) {
System.err.println("Error");
e.printStackTrace();
}
}
public static void main(String[] args){
if (!args[0].equals(null))
{
PutImg pi=new PutImg();
pi.putimg(args[0]);
System.out.println("Upload file success");
}
else{
System.out.println(args[0]);
System.out.println("Warnning: Please type your wanted filename!");
}
}
}
Part2 : 保存图片到文件
import java.io.*;
import java.sql.*;
class GetImg {
private String URL = "jdbc:mysql://localhost:3306/mydefault?user=root&password=skychen";
private Connection conn = null;
private PreparedStatement pstmt = null;
private ResultSet rs = null;
private File file = null;
public void blobRead(String outfilename, int picID) throws Exception {
FileOutputStream fos = null;
InputStream is = null;
byte[] Buffer = new byte[4096];
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(URL);
pstmt = conn.prepareStatement("select img from imgtable where id=?");
pstmt.setInt(1, picID); // 传入要取的图片的ID
rs = pstmt.executeQuery();
rs.next();
file = new File(outfilename);
if (!file.exists()) {
file.createNewFile(); // 如果文件不存在,则创建
}
fos = new FileOutputStream(file); //得到文件输出流
is = rs.getBinaryStream("img"); //从数据库中得到文件二进制流
int size = 0;
while ((size = is.read(Buffer)) != -1) { //读到buffer 中缓存
//System.out.println(size); //打印buffer大小
fos.write(Buffer, 0, size); //写入到文件输出流中
}
} catch (Exception e) {
System.out.println( e.getMessage());
} finally {
// 关闭用到的资源
fos.close();
rs.close();
pstmt.close();
conn.close();
}
}
public static void main(String[] args) {
if (!args[0].equals(null))
{
try {
GetImg gi=new GetImg();
gi.blobRead(args[0], 1);
} catch (Exception e) {
System.out.println("[Main func error: ]" + e.getMessage());
}
}
else{
System.out.println("Warnning: Please type your store path and filename!");
}
}
}
JAVA从数据库读取图片数据并保存到本地的方法
//从数据表tablepicture中读字段picture
Sql="Select picture From tablepicture";
Rs = Stmt.executeQuery(Sql);
while (Rs.next())
{
java.io.InputStream long_out = Rs.getBinaryStream("Picture");
if (long_out != null)
{
byte[] long_buf=new byte[8192];
int len=0;
java.io.FileOutputStream long_file = new java.io.FileOutputStream("E:/tomcatx/webapps/ROOT/upfile/instrumentimages/"+Rs.getString("pictureid")+".jpg");
while((len = long_out.read(long_buf))>0)
long_file.write(long_buf,0,len);
long_file.close();
long_out.close();
}
}
Rs.close();
分享到:
相关推荐
利用数据库存取图片,利用数据库存取图片,从数据库读取显示出来不是简单的保存上传图片的路径.
将图片保存到数据库和从数据库中读取图片实例
VB.NET 使用Access数据库保存和读取图片文件;并连接到datagridview
RichTextBox 练习,保存和读取图片数据库 QQ:292258449
代码如下:注:MyTools.g_PhotoField为数据库表中的图象字段名称//将图片保存到数据库中 if(this.picPhoto.Image==null) { m_DataRow[MyTools.g_PhotoField]=DBNull.Value; } else { try { MemoryStream ms = ...
本文主要讲述了oralce数据库表保存读取图片的一些方法!很好的参考!
这个是 oracle数据库存储二进制 程序
C# 图片转成byte存入,数据库读取byte转成图片的类
展示了数据库中图片的保存和读取 MFC SQL Server2000 ado
用c#读取图片文件,并存入数据库,然后从数据库中把相应的二进制图片数据还原成指定目录下的图片文件。 注意:数据库名称和数据表需要修改成自己的数据表,否则出现数据库连接错误,
图片存储数据库以及页面读取显示源码 ...图片存储:通过文件上传获取图片并转换成Byte[]字节数组,保存到数据库Image字段 数据库存储图片的读取和显示控制:从数据库中读取到字节流后把图片直接写入页面并对显示进行控制
C#pictureBox图片存储及读取(显示)至sqlserver数据库示例 一例全明了! 如有程序问题或没有解决的请给予零星 此程序为VS2008版本 VS2008以下版本有txt代码 且有示例窗体图片及控件 VS高版本可兼容 再也不用担心版本...
ssh保存图片到数据库 包括读取图片显示
网上关于ASP.NET上传图片到数据库的资料非常多,常用的如下:存储图片类型数据有以下几种方式:1.将图片转换为二进制数组(byte[]) 代码如下:byte[] fileData = this.FileUpload1.FileBytes; 2. 根据路径将文件转换...
通过二进制数据流的方式,读写图片,把图片存入数据库,再从数据库读取出来显示
本地图片使用二进制流存储到MySQL中,然后响应前端的传参,查询后可以显示在HEML网页中,相当于图片的简单上传和显示
简单的一个c#语言连接mysql数据库存储图片的示例。
读写数据库中的图像文件,VC6.0+ACCESS,可以通过修改数据连接方式,与其它数据库连接
主要介绍了Java从数据库中读取Blob对象图片并显示的方法,实例分析了Java读取数据库中Blob对象图片的技巧与操作方法,需要的朋友可以参考下
如何将图片保存进数据库以及从数据库中读取保存的图片