【SSH專案】如何上傳圖片
阿新 • • 發佈:2019-02-18
SSH專案到片尾,平時咱們往部落格插個美圖,發個說說什麼的,感覺一點再一點圖片就上傳了,那今天小編就和大家看看上傳圖片背後的故事.
頁面設定:
<form method="post" enctype="multipart/form-data">
<input type="file" name="upload" />
enctype屬性:
enctype 屬性規定在傳送到伺服器之前應該如何對錶單資料進行編碼。
預設地,表單資料會編碼為 "application/x-www-form-urlencoded"。就是說,在傳送到伺服器之前,所有字元
都會進行編碼(空格轉換為 "+" 加號,特殊符號轉換為 ASCII HEX 值)。
Multipart/form-data?
Multipart/form-data是上傳檔案的一種方式. Multipart/form-data其實就是瀏覽器用表單上傳檔案的方式.最常見的情境是:在寫郵件時,向郵件後新增附 件,附件通常使用表單新增,也就是用multipart/form-data格式上傳到伺服器.在上傳圖片的時候也是用這種格式上 傳的.重要程式碼:
// 儲存商品的方法: public String save() throws IOException { // 將提交的資料新增到資料庫中. product.setPdate(new Date()); // product.setImage(image); if(upload != null){ // 將商品圖片上傳到伺服器上. // 獲得上傳圖片的伺服器端路徑. String path = ServletActionContext.getServletContext().getRealPath( "/products"); // 建立檔案型別物件: File diskFile = new File(path + "//" + uploadFileName); // 檔案上傳: FileUtils.copyFile(upload, diskFile); product.setImage("products/" + uploadFileName); } productService.save(product); return "saveSuccess"; }
結果圖示:
至此,圖片上傳成功.