jsp從資料庫讀取圖片
① 誰有資料庫中存的是圖片路徑,然後jsp頁面顯示圖片出來
1、准備要顯示的圖片,並創建一個最簡單的jsp頁面,運行起來。
② JSP 從資料庫中如何取得圖片的路徑
我的筆記:
6:對資料庫存取圖片進行的操作:
核心思想:通過二進制流的形式進行存儲和讀取。
具體:存儲圖片:一般是通過文件上傳的方式進行存儲的
1.首先通過request獲得表單中圖片的地址
2.然後根據這個路徑可以使FileInputStream獲得文件輸入流
3.pstmt.setBinaryStream(i,
fis,
fis.available())
最後pstmt.executeUpdate();就完成整個插入語句了。
讀取:1.根據url的id傳一個對應資料庫摸個圖片的id號
2.根據這個id執行查詢,通過rst.getBinaryStream(1)返回一個輸入流(裡面存的是圖片)
3.讀輸入流,放到位元組數組中,再通過response返回一個能輸出二進制流的ServletOutputStream實例(ServletOutputStream
sos=
response.getOutputStream();
),
4.通過這個輸出流把位元組數組的位元組流寫出
希望對你有所幫助哈
③ 把存放在資料庫中的圖片路徑讀出來 怎樣顯示在jsp頁面中
頁面上<img src="<%=這里是你讀出來的路徑%>"
④ 用jsp、java實現上傳圖片,保存到資料庫,從資料庫中提取,顯示到頁面 這四步 我想問第一步,怎麼上傳圖片
用jspSmartUpload組件來實現,用jsp+servlet在Servlet里實現的代碼:
PrintWriter out = response.getWriter();
int count = 0;
// 實例化上傳控制項對象
SmartUpload su = new SmartUpload();
// 初始化操作
su.initialize(config, request, response);
// 設置上傳文件最大位元組數
su.setTotalMaxFileSize(100000);
//
try {
//禁止上傳指定擴展名的文件
su.setDeniedFilesList("ext,bat,jsp");
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
// 上傳文件到伺服器
su.upload();
File fileup = new File(request.getRealPath("upload"));
if(!fileup.exists()){
// 創建目錄
fileup.mkdir();
}
// 處理多個文件的上傳
for(int i = 0;i < su.getFiles().getCount();i++){
com.jspsmart.upload.File file = su.getFiles().getFile(i);
if(!file.isMissing()){ // 如果文件有效
// 保存文件到指定上傳目錄
file.saveAs("/upload/new."+file.getFileExt(), su.SAVE_VIRTUAL);
count = su.save("/upload");
}
}
} catch (SmartUploadException e) {
e.printStackTrace();
}
out.println(count +"file(s) uploaded");
如果你對這個上傳組件不了解,最好是先去查查用法。。。
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
vaela