1. 程式人生 > >【SSH專案】如何上傳圖片

【SSH專案】如何上傳圖片

   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";
	}

結果圖示:

            

           

           

   至此,圖片上傳成功.