資源描述:
《mysql存取圖片(文件)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、一、首先,需要知道,數(shù)據(jù)庫本身也存儲在硬盤上,也是一種文件,所以數(shù)據(jù)庫存取文件是可能的,那么在存儲文件時,要注意兩點1.MYSQL圖片(文件)的類型是blob2.寫入數(shù)據(jù)庫的文件必須是二進制流首先,我們就在MYSQL中建立數(shù)據(jù)庫SQL腳本如下viewplaincopytoclipboardprint?/*source[SQL文件的URL]*/?dropdatabaseifexiststestImage;???createdatabasetestImage;???usetestImage;???createt
2、ablemyTable(???idintprimarykey,??imageblob??);?/*source[SQL文件的URL]*/dropdatabaseifexiststestImage;createdatabasetestImage;usetestImage;createtablemyTable(?idintprimarykey,imageblob);有了這個腳本,就可以進行編碼存儲圖片了,這里給出存取的關(guān)鍵代碼存:viewplaincopytoclipboardprint?Class.forNa
3、me("com.java.mysql.Driver").newInstance();??Stringurl="jdbc:mysql://localhost/img?user=root&password=root&useUnicode=true&characterEncoding=gbk";??Connectionconn=DriverManager.getConnection(url);??PreparedStatementpstmt="INSERTINTOmyTable(image)VALUES(?)";
4、??pstmt=conn.prepareStatement(sql);??Filefile=newFile("file的URL");??InputStreamimageStream=newFileInputStream(file);??pstmt.setBinaryStream(1,imageStream,(int)file.length());??pstmt.executeUpdate();??pstmt.close();??conn.close();?Class.forName("com.java.my
5、sql.Driver").newInstance();Stringurl="jdbc:mysql://localhost/img?user=root&password=root&useUnicode=true&characterEncoding=gbk";Connectionconn=DriverManager.getConnection(url);PreparedStatementpstmt="INSERTINTOmyTable(image)VALUES(?)";pstmt=conn.prepareSta
6、tement(sql);Filefile=newFile("file的URL");InputStreamimageStream=newFileInputStream(file);pstmt.setBinaryStream(1,imageStream,(int)file.length());pstmt.executeUpdate();pstmt.close();conn.close();?取:viewplaincopytoclipboardprint?PreparedStatementpstmt=conn.p
7、repareStatement("selectimagefrommyTablewhereid=?");??//設(shè)置ID??byte[]buffer=newbyte[4096];??Filefile=newFile(outfile);//讀取后要保存的位置??FileOutputStreamfos=newFileOutputStream(file);??ResultSetrs=pstmt.executeQuery();??InputStreamin=rs.getBinaryStream("image");??
8、intsize=-1;??while((size=is.read(buffer))!=-1){?????fos.write(buffer,0,size);//如果把fos改成是servlet中的response.getOutputStream(),就可以將圖片返回給客戶端顯示了。??}??//關(guān)閉資源?二、JSP在MySQL中存取圖片2008年04月04日星期五23:41為了使用JSP靈活,需要把各種文件儲存到數(shù)