导航:首页 > 编程语言 > java读取数据库的图片

java读取数据库的图片

发布时间:2022-03-16 03:01:59

‘壹’ 在java中如何将图片从数据库读取到页面上

你只要开启一个输出流将从数据库取出来的图片(这个时候肯定是二进制数据是吧),写出来就行了.
然后在调用图片的地方调用相应的方法就可以输出了.

‘贰’ java中动态读取数据库中的图片

eption
产生这个异常的原因是变量没有初始化,也就是说变量在没有赋值的情况下被使用了
没用接触过你给出代码中的类,所以我也说不太准
分析了一下,觉得问题应该是出在这里
ResultSet rs = DatabaseTool.executeQuery(strSQL);

if (rs.next()) {
当你输入的值在数据库中无法找到时,DatabaseTool类的executeQuery并没有返回ResultSet对象,而是返回了null
建议你修改一下if语句
在if (rs.next())语句外层增加一层if语句if (rs!=null)
修改后应该是
try {
ResultSet rs = DatabaseTool.executeQuery(strSQL);
if(rs!=null){
if (rs.next()) {
String income =rs.getString("income");
dayincome = Float.parseFloat(income);
}else{
JOptionPane.showMessageDialog(null, "没有收入!");
}
}
else{
JOptionPane.showMessageDialog(null, "没有ResultSet对象!");
}

}
catch (Exception exx) {
exx.printStackTrace();
JOptionPane.showMessageDialog(null, "程序出现异常!");
}
试试行不行吧,不保证啊

‘叁’ JAVA 读取 数据库中的图片显示到页面

你说你只想存ID到数据库中,那你就专门用个文件夹存放图片,ID值就是图片文件名字!从数据库得到ID后,就在<IMG SRE="这里写上绝对路径"+ID+".jpg"/>

‘肆’ java 数据库读取图片出来全部是1KB

public static void readDB2Image() {
String targetPath = "D:/123/1.png";
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = DBUtil.getConn();
String sql = "select * from map where id =?";
ps = conn.prepareStatement(sql);
ps.setInt(1, 1);
rs = ps.executeQuery();
while (rs.next()) {
InputStream in = rs.getBinaryStream("photo");
ImageUtil.readBin2Image(in, targetPath);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtil.closeConn(conn);
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

}

‘伍’ JAVA怎么把图片从数据库中调用出来

1 一半图片都是把路径存放在数据库的 到时候取出路径就可以了
2 在数据库有blob格式可以存放图片 以二进制流的方式取出来

<% String zjbm = CheckParam(request.getParameter("zjbm"),""); String zpSql = "select zp from tjjryxxx where sfzh = '"+zjbm+"'"; out.clear(); response.setContentType("image/jpeg"); response.setHeader("Content-Transfer-Encoding","base64"); Connection connection = null; PreparedStatement ps = null; ResultSet rs = null; Blob blob =null; byte[] data = null; try{ connection =getConn(); ps = connection.prepareStatement(zpSql); rs = ps.executeQuery(); while(rs.next()){ blob = (Blob)rs.getBlob("zp"); long nlen = blob.length(); int nsize = (int) nlen; data = blob.getBytes(1,nsize); OutputStream out1 = response.getOutputStream(); BufferedOutputStream bos =null; bos = new BufferedOutputStream(out1); bos.write(data,0,data.length); bos.close(); rs.close(); } }catch(Exception e){ e.printStackTrace(); } %>

‘陆’ 在java中怎么获取数据库中已经保存的图片

如果要存数据库的话,数据库存图片字段用blob形式的(照片:zp为例)。
而且不能直接存,在存之前zp字段先插入一个empty.BLOB(),
然后select ZP from 表 for update。再用输入流的形式写进去。
// 先检索出来字段,必须使用oracle的类:oracle.sql.BLOB
oracle.sql.BLOB blob = null;
if (rs.next())
{
blob = (oracle.sql.BLOB) rs.getBlob("ZP");
// 到数据库的输出流

‘柒’ java如何读取数据库中的路径在标签框中显示图片

1、从DB得到图片路径
2、载入图片到 ImageIcon
3、显示在JLabel中,setIcon(ImageIcon)

‘捌’ Java怎样读取数据库中的二进制图片并下载到本地磁盘

/**
* Created by IntelliJ IDEA.
* User: ljt
* Date: 2003-3-31
* Time: 18:51:38
* To change this template use Options | File Templates.
*/
import oracle.jdbc.driver.OraclePreparedStatement;
import oracle.jdbc.driver.OracleResultSet;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.Clob;

public class TestOpenDoc {
public OracleResultSet ors = null; //**这里rs一定要用Oracle提供的
public OraclePreparedStatement opst = null; //**PreparedStatement用
public Connection conn = null;
public Statement stmt = null;

public TestOpenDoc() {
}

public boolean getConnect() {
//这是我的数据库所在
String serverName = "prosrv";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@" + serverName + ":1521:BOHDATA";
conn = DriverManager.getConnection(url, "appuser", "appuser");
}
catch (Exception e) {
System.out.println(e);
return false;
}
return true;
}

public static void main(String[] args) {
TestOpenDoc test = new TestOpenDoc();
if (!test.getConnect()) {
System.out.println("数据库连结错误");
return ;
}
try{

test.conn.setAutoCommit(false);
byte a[] = null; //**将测试文件test.doc读入此字节数组
java.io.FileInputStream fin = null;
java.io.FileOutputStream fout = null;

//Oracle提供的
try {
java.io.File f1 = new java.io.File("c:/test.doc");
java.io.File f2 = new java.io.File("d:/testout.doc"); //**从BLOB读出的信息写

//入该文 件,和源文件对比测试用
fin = new java.io.FileInputStream(f1);
fout = new java.io.FileOutputStream(f2);

int flength = (int) f1.length(); //**读入文件的字节长度
System.out.println("file length::" + flength);
a = new byte[flength];

int i = 0;
int itotal = 0;
//* 将文件读入字节数组
for (; itotal < flength; itotal = i + itotal) {
i = fin.read(a, itotal, flength - itotal);
}
fin.close();

System.out.println("read itotal::" + itotal);
//**注意Oracle的 BLOB一定要用EMPTY_BLOB()初始化
String mysql =
"insert into filelist (FileName,FileSize,FileBody) values (?,?,EMPTY_BLOB())";
OraclePreparedStatement opst = (OraclePreparedStatement) test.conn.
prepareStatement(mysql);
opst.setString(1, "wordtemplate2");
opst.setInt(2, flength);
opst.executeUpdate();
opst.clearParameters();
// /**插入其它数据后,定位BLOB字段
mysql = "select filebody from filelist where filename=?";
opst = (OraclePreparedStatement) test.conn.prepareStatement(mysql);
opst.setString(1, "wordtemplate2");
OracleResultSet ors = (OracleResultSet) opst.executeQuery();

if (ors.next()) {
oracle.sql.BLOB blob = ors.getBLOB(1); //**得到BLOB字段
int j = blob.putBytes(1, a); //**将字节数组写入BLOB字段
System.out.println("j:" + j);
test.conn.commit();
ors.close();
Clob clob;
clob = ors.getClob("");
String str;
str = clob.toString();
str = clob.getSubString(0L,(int)clob.length());
System.out.println(str);
}

System.out.println("insert into ok");

byte b[] = null; //**保存从BLOB读出的字节
opst.clearParameters();
mysql = "select filebody from filelist where filename=?";
opst = (OraclePreparedStatement) test.conn.
prepareStatement(mysql);
opst.setString(1, "wordtemplate2");
ors = (OracleResultSet) opst.executeQuery();
if (ors.next()) {
oracle.sql.BLOB blob2 = ors.getBLOB(1);

System.out.println("blob2 length:" + blob2.length());
b = blob2.getBytes(1, flength); //**从BLOB取出字节流数据
System.out.println("b length::" + b.length);
test.conn.commit();
}
ors.close();
// 将从BLOB读出的字节写入文件
fout.write(b, 0, b.length);
fout.close();

System.out.println("write itotal::" + b.length);

}
catch (Exception e) {
System.out.println("errror :" + e.toString());
e.printStackTrace();

}
finally { //**关闭所有数据联接
test.conn.commit();
}
}
catch(Exception e){
System.out.println(e);

}
}

}

‘玖’ JAVA怎样操作数据库的图片

给你个思路:
选择数据库字段类型为Blob 类型即可存储文件,前提数据库必须支持Blob 类型,如oracle、sql server、db2等,或者将文件转换成二进制流存储到字段中,读取时重新将二进制流转换成文件即可。

insert userinfo (img) values ('f:\\a.jpg')
这样只会将'f:\\a.jpg'这个字符串保存到img字段中,其实这也是一种方法,你读取图片时先取到img中的这个字符串,因为它标识了图片的路径,然后通过这个字符串代表的路径去读取图片文件。

‘拾’ java里怎么把从数据库里读取的图片类型数据 显示到页面上啊

楼上挺全了!!
不过说些题外话 就是 数据库中存取图片文件的做法是不大好的!!
建议图片文件存放在硬盘中,数据库存放文件的相对路径。
显示的时候直接读取路径信息。

阅读全文

与java读取数据库的图片相关的资料

热点内容
优信二手车解压后过户 浏览:62
Windows常用c编译器 浏览:778
关于改善国家网络安全的行政命令 浏览:833
安卓如何下载网易荒野pc服 浏览:654
javainetaddress 浏览:104
苹果4s固件下载完了怎么解压 浏览:1003
命令zpa 浏览:285
python编译器小程序 浏览:944
在app上看视频怎么光线调暗 浏览:540
可以中文解压的解压软件 浏览:593
安卓卸载组件应用怎么安装 浏览:913
使用面向对象编程的方式 浏览:339
程序员项目经理的年终总结范文 浏览:929
内衣的加密设计用来干嘛的 浏览:432
淮安数据加密 浏览:292
魔高一丈指标源码 浏览:982
松下php研究所 浏览:168
c回调java 浏览:400
梦幻端游长安地图互通源码 浏览:746
电脑本地文件如何上传服务器 浏览:313