java如何實(shí)現(xiàn)圖片轉(zhuǎn)化為數(shù)據(jù)流
實(shí)現(xiàn)圖片轉(zhuǎn)化為數(shù)據(jù)流
方法如下
/**
* Copy file from inputStream
*
* @param is
* @param f2
* @throws Exception
*/
public static void copyFileFromInputStream( InputStream is, File f2 ) throws Exception {
int length = 2097152;
FileOutputStream out = new FileOutputStream( f2 );
byte[] buffer = new byte[length];
while (true) {
int ins = is.read( buffer );
if ( ins == -1 ) {
is.close( );
out.flush( );
out.close( );
break;
}
out.write( buffer , 0 , ins );
}
}
使用方法如下
String image = "XXX.jpg";
File imageFile= new File(System.getProperty("java.io.tmpdir"), image); //System.getProperty("java.io.tmpdir")是獲取操作系統(tǒng)緩存的臨時(shí)目錄
copyFileFromInputStream(XXXX.class.getResourceAsStream("images/" + image),imageFile);
// 系統(tǒng)會(huì)讀取XXX.class路徑中images文件夾下的xxx.jpg文件,將其轉(zhuǎn)換為數(shù)據(jù)流
把圖片轉(zhuǎn)換成二進(jìn)制流的代碼
在學(xué)習(xí)期間,把開(kāi)發(fā)過(guò)程經(jīng)常用到的一些代碼段做個(gè)備份,下邊代碼內(nèi)容是
java中如何把圖片轉(zhuǎn)換成二進(jìn)制流的代碼
應(yīng)該能對(duì)各朋友也有用處
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; }
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;
}從SQLServer數(shù)據(jù)庫(kù)讀取Image類型的數(shù)據(jù)
并轉(zhuǎn)換成bytes[]或Image圖像文件
{ Image image; MemoryStream mymemorystream = new MemoryStream(mybyte,0, mybyte.Length);
image = Image.FromStream(mymemorystream);
return image;
}以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java 實(shí)戰(zhàn)項(xiàng)目之精美物流管理系統(tǒng)的實(shí)現(xiàn)流程
讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SpringBoot+Vue+maven+Mysql實(shí)現(xiàn)一個(gè)精美的物流管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11
eclipse修改maven倉(cāng)庫(kù)位置的方法實(shí)現(xiàn)
本文主要介紹了eclipse修改maven倉(cāng)庫(kù)位置的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
Springboot基礎(chǔ)學(xué)習(xí)之初識(shí)SpringBoot
今天帶大家學(xué)習(xí)Springboot基礎(chǔ)知識(shí),文中有非常詳細(xì)的圖文解說(shuō)及代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05
servlet3新特性_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了servlet3新特性的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
Springboot+WebSocket+Netty實(shí)現(xiàn)在線聊天/群聊系統(tǒng)
這篇文章主要實(shí)現(xiàn)在好友添加、建群、聊天對(duì)話、群聊功能,使用Java作為后端語(yǔ)言進(jìn)行支持,界面友好,開(kāi)發(fā)簡(jiǎn)單,文章中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2023-08-08

