導航:首頁 > 編程語言 > 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讀取資料庫的圖片相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:61
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 瀏覽:399
夢幻端游長安地圖互通源碼 瀏覽:745
電腦本地文件如何上傳伺服器 瀏覽:313