iT邦幫忙

0

募的地專題開發日誌4-上傳圖片到DB

  • 分享至 

  • xImage
  •  

上傳圖片到DB

主要有下面三個步驟

  • html/jsp 上傳檔案
  • 在servlet設定@MultipartConfig()註解
  • servlet3.0新增的javax.servlet.http.Part介面,接收圖片並轉送到DB

html/jsp 上傳檔案

<FORM action="uploadServlet3.do" method=post enctype="multipart/form-data">
        <input type="file" name="upfile1">
        <input type="submit" value="上傳">
</FORM>

servlet接收檔案 並轉送到DB

@MultipartConfig(fileSizeThreshold = 1024 * 1024, maxFileSize = 5 * 1024 * 1024, maxRequestSize = 5 * 5 * 1024 * 1024)
// 當數據量大於fileSizeThreshold值時,內容將被寫入磁碟
// 上傳過程中無論是單個文件超過maxFileSize值,或者上傳的總量大於maxRequestSize 值都會拋出IllegalStateException 異常

利用 servlet3.0新增的javax.servlet.http.Part介面

主要利用下面這行來獲取part物件。
Part req.getPart(String name)
多個part則用
Collection<Part> req.getParts
接著來測試 InputStream 與 byte[] (幫將來model的VO預作準備)

Part part = req.getPart("upfile1"); //來自於上面的form表單
InputStream in = part.getInputStream();
byte[] buf = new byte[in.available()];
in.read(buf);
in.close();
out.println("buffer length: " + buf.length);

利用InputStreambufbyte[]陣列送進資料庫。
為了方便,我會將buf換成表格名稱,如:md_Pic
再來就能透過controller送至DB囉!


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言