當前位置:首頁 » 編程語言 » javasqlimage
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

javasqlimage

發布時間: 2022-12-10 08:51:19

㈠ java如何讀取資料庫中的路徑在標簽框中顯示圖片

1、從DB得到圖片路徑
2、載入圖片到 ImageIcon
3、顯示在JLabel中,setIcon(ImageIcon)

㈡ 如何在java讀取sql裡面讀取image格式的數據轉換成圖片格式

image數據在sql
server資料庫是以二進制數據存儲的,在打開是必須首先轉換為圖片文件才可以,不能直接打開。另外轉換生成的圖片文件必須要包含文件名+擴展名,缺一不可。

㈢ 請問java如何往資料庫里插入二進制數據;

用流讀入圖片,再用byte[]數組讀取轉換流中的圖片數據轉成二進制.接著用JDBC把二進制插入資料庫存 oFileInputStream fis = null;// 處理硬碟的低端,輸入流 o try { o fis = new FileInputStream( "圖片路徑" );// 低端流綁定硬碟上的文件 o o byte [] buffer = new byte[ 1024 ]; o while ( true ) {// 循環讀取流里的數據 o int len = fis.read( buffer ); o if ( -1 == len ) {// 如果已經讀到文件末尾 o break; o } o ........//JDBC插入代碼只要把上面的buffer循環插入資料庫存o } o } catch ( Exception e ) { o e.printStackTrace(); o } finally { o try { o fis.close(); o } catch ( Exception e ) { o e.printStackTrace(); o } o } o}

㈣ java如何將圖片保存在資料庫中

一般都是這樣的,就是在你伺服器有一個專門放置圖片的文件夾,然後資料庫保存的是你伺服器圖片的路徑。需要用的時候就去資料庫裡面取路徑。得到路徑以後你想怎麼處理圖片是你的事情了。
至於如何去資料庫取路徑這個就是簡單的db操作。
載入驅動類:
Class.forName(DBDriver);
獲取連接:
Connection
conn
=
DriverManager.getConnection(url,username,password);
創建操作對象:
PreparedStatement
stmt
=
con.prepareStatement(sql);
執行操作:
ResultSet
rs
=
stmt.executeQuery();
遍歷結果:
List
list
=
new
ArrayList();
while(rs.next()){
//具體操作,通常用rs.getString(name)取值
Image
img
=
new
Image();//圖片類對應你資料庫中圖片表格
img.setSrc(rs.getString("src"));//假設你資料庫中image表中圖片地址欄位是src
list.add(img);
}
記得關閉資源:
rs.close();
stmt.close();
con.close();
看你的意思是已經取出來了不知道怎麼顯示:
你取出來之後可以把圖片放在一個list裡面然後去頁面上遍歷這個list
<c:forEach
var="chakan1"
items="list">
<tr>
<td>
<img
src="${chakan1.src}"/>
</td>
</tr>
</c:forEach>
大致應該是這樣

㈤ sqlserver2005中的欄位類型image對應java的pojo類里的什麼類型

image數據類型是sqlserver中用來存貯變長的二進制數據,取值范圍在跟int數據類型一樣,所以在java中對應的數據類型可以是int

㈥ java連接sql server2008中對圖片的存取和獲取問題(轉換成16進制數)

把圖片存儲到資料庫會很慢啊,一般都是把文件的名稱與路徑存儲到資料庫里,文件圖片存儲到文件夾里。

㈦ sql server2008裡面的image類型,怎麼向裡面放圖片啊,還有java裡面如何把圖片讀出來

執行指定的非查詢類SQL語句,SQL語句中的列名(尤其是中文列名)可用中括弧括住。如果SQL語句中涉及到備注或者位元組集型欄位,請在相應位置加上問號,然後再加上對應的文本型或位元組集型數據參數,參數數目必須與問號的數目一致。例如,修改數據表student中編號為100的學生像片的語句為: 外部資料庫1.執行 (「update student set picture = ? where no = 100」, 像片數據)。像片數據,圖片是以位元組集類型存儲的,必須轉換,如:
外部資料庫1.執行 (「insert into employeephoto ([user],logo) values ('」 + 登陸用戶名 + 「',?)」, 讀入文件 (照片文件名路徑))

而讀圖片則是相反的取圖過程:
.版本 2
sql = 「select [id],logo from employeephoto where [id]=100「
查詢sql (sql)
照片.圖片 = 到位元組集 (外部資料庫.讀 (記錄集1, 「logo」))

㈧ java 資料庫中2進制流image轉成PDF

FileUtils.writeByteArrayToFile(new File("xx.pdf"),p.getBytes());

一般存到資料庫的二進制流都是經過加密的,常用的是base64
byte[]bytes = new BASE64Decoder().decodeBuffer(p);
FileUtils.writeByteArrayToFile(new File("xx.pdf"),bytes);

㈨ java把圖片轉成二進制存入資料庫,在取出

1.將Image圖像文件存入到資料庫中

我們知道資料庫里的Image類型的數據是"二進制數據",因此必須將圖像文件轉換成位元組數組才能存入資料庫中.

要這里有關數據的操作略寫,我將一些代碼段寫成方法,方便直接調用.

//根據文件名(完全路徑)
public byte[] SetImageToByteArray(string fileName)
{
FileStream fs = new FileStream(fileName, FileMode.Open);
int streamLength = (int)fs.Length;
byte[] image = new byte[streamLength];
fs.Read(image, 0, streamLength);
fs.Close();
return image;
}

//另外,在ASP.NET中通過FileUpload控制項得到的圖像文件可以通過以下方法
public byte[] SetImageToByteArray(FileUpload FileUpload1)
{
Stream stream = FileUpload1.PostedFile.InputStream;
byte[] photo = new byte[FileUpload1.PostedFile.ContentLength];
stream.Read(photo, 0, FileUpload1.PostedFile.ContentLength);
stream.Close();
return photo;
}

2.從SQL Server資料庫讀取Image類型的數據,並轉換成bytes[]或Image圖像文件

//要使用SqlDataReader要載入using System.Data.SqlClient命名空間
//將資料庫中的Image類型轉換成byte[]
public byte[] SetImage(SqlDataReader reader)
{
return (byte[])reader["Image"];//Image為資料庫中存放Image類型欄位
}

//將byte[]轉換成Image圖像類型
//載入以下命名空間using System.Drawing;/using System.IO;
using System.Data.SqlClient;*/
public Image SetByteToImage(byte[] mybyte)
{
Image image;
MemoryStream mymemorystream = new MemoryStream(mybyte,0, mybyte.Length);
image = Image.FromStream(mymemorystream);
return image;
}

㈩ 如何在Java程序中選擇添加圖片,再存到資料庫中

存儲圖片:

//載入驅動程序類
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");
//建立資料庫聯機,其中denglu為資料庫名,sa為連接資料庫的帳號及密碼。
Statement stmt=con.createStatement(); //建立Statement對象

FileInputStream str=new FileInputStream(filename); //圖片文件路徑
String sql="insert into picturenews(id,image) values(?,?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,id); //ID號
pstmt.setBinaryStream(2,str,str.available()); //圖片數據
pstmt.execute();
//將數據存入資料庫
out.println("Success,You Have Insert an Image Successfully");

圖片讀取:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");
Statement stmt=con.createStatement();
ResultSet rs=null;
String sql = "select image from picturenews WHERE id="+id;

rs=stmt.executeQuery(sql);
if(rs.next()) {
//圖片輸出的輸出流
InputStream in = rs.getBinaryStream("image");
byte b[] = new byte[0x7a120];
for(int i = in.read(b); i != -1;)
{
//將緩沖區的輸入輸出到頁面
in.read(b);
}
}

/**
* 獲得數據後可以按照自己的方法進行處理或者顯示
*/
JLabel label=new JLabel(new ImageIcon(b)); //用JLabel進行顯示

.....