java中怎么利用mysql存儲(chǔ)讀取圖片

這篇文章將為大家詳細(xì)講解有關(guān)java中怎么利用MySQL存儲(chǔ)讀取圖片,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

10余年的堯都網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整堯都建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“堯都網(wǎng)站設(shè)計(jì)”,“堯都網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

java怎樣操作mysql存儲(chǔ)讀取圖片

1在mysql中創(chuàng)建一個(gè)表picture_db

createtablepicture_db(

file_namevarchar(255)notnull,

contentlongblob,

primarykey(file_name));

2java寫儲(chǔ)存文件的代碼

importjava.sql.*;

importjava.io.*;

importjava.nio.*;

publicclassUploadImage{

protectedConnectiondbConnection;

protectedStringdriverName="com.mysql.jdbc.Driver";

protectedStringdbURL="jdbc:mysql://localhost:3306/sample_db";

protectedStringuserID="root";

protectedStringpasswd="yourpassword";

publicbooleanstoreImage(Stringsqlstr,Filefile){

try{

FileInputStreamfin=newFileInputStream(file);

ByteBuffernbf=ByteBuffer.allocate((int)file.length());

byte[]array=newbyte[1024];

intoffset=0,length=0;

while((length=fin.read(array))>0){

if(length!=1024)

nbf.put(array,0,length);

else

nbf.put(array);

offset+=length;

}

fin.close();

byte[]content=nbf.array();

returnsetImage(sqlstr,content);

}catch(FileNotFoundExceptione){

e.printStackTrace();

}catch(IOExceptione){

e.printStackTrace();

}

returnfalse;

}

privatebooleansetImage(Stringsqlstr,byte[]in){

booleanflag=false;

if(sqlstr==null)

sqlstr="select*frompicture_db";

try{

Class.forName(driverName);

dbConnection=DriverManager.getConnection(dbURL,userID,passwd);

Statementstmt=dbConnection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

ResultSetrs=stmt.executeQuery(sqlstr);

if(rs.next()){

rs.updateBytes(2,in);

rs.updateRow();

}

else{

rs.moveToInsertRow();

rs.updateString(1,"01");

rs.updateBytes(2,in);

rs.insertRow();

}

rs.close();

flag=true;

}catch(Exceptione){

e.printStackTrace();

}

returnflag;

}

publicstaticvoidmain(String[]args){

UploadImageupload=newUploadImage();

try{

Filefile=newFile("01.jpg");

if(upload.storeImage(null,file))

System.out.print("ture");

else

System.out.print("False");

}catch(Exceptione){

e.printStackTrace();

}

}

}

如果執(zhí)行成功的話系統(tǒng)打印true否則false

java怎樣操作mysql存儲(chǔ)讀取圖片

3就是將圖片讀取出來與儲(chǔ)存的過程相反先建立連接創(chuàng)建數(shù)據(jù)庫查詢JDBC對(duì)象使用該語句來返回二進(jìn)制結(jié)果保存到文件中

<%@pagecontenttype= charset="GB2312"%">

<%@pageimport="java.sql.*"%><%@pageimport="java.io.*"%>

<%@pageimport="com.sun.image.codec.jpeg.*"%>

<%@pageimport="javax.imageio.*"%>

<%@pageimport="java.awt.image.*"%> 

<% stringshowimage="select*frompicture_dbwherefile_name='01'" connectionconn="null;" bufferedinputstreaminputimage="null;StringdriverName="com.mysql.jdbc.Driver";" stringdburl="jdbc:mysql://localhost:3306/sample_db" stringuserid="root" stringpasswd="yourpassword" conn="DriverManager.getConnection(dbURL,userID,passwd);Statementst=conn.createStatement();" resultsetrs="st.executeQuery(showImage);" blobblob="(Blob)rs.getBlob("content");" inputimage="newBufferedInputStream(blob.getBinaryStream());" bufferedimageimage="null;" image="ImageIO.read(inputImage);" servletoutputstreamsos="response.getOutputStream();" jpegimageencoderencoder="JPEGCodec.createJPEGEncoder(sos);">

關(guān)于java中怎么利用mysql存儲(chǔ)讀取圖片就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

本文題目:java中怎么利用mysql存儲(chǔ)讀取圖片
瀏覽路徑:http://muchs.cn/article36/ieghsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、定制網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站導(dǎo)航、網(wǎng)站策劃手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)