1. 程式人生 > >Servlet & JSP 檔案上傳

Servlet & JSP 檔案上傳

1.介紹:

檔案上傳是將客戶端的一個或多個檔案傳輸到伺服器上儲存。

2.客戶端要求:

實現檔案上傳首先需要在客戶端的HTML頁面中通過一個表單開啟一個檔案,然後提交給伺服器。上傳檔案表單的<form>標籤中應該指定enctype屬性,它的值應該為"multipart/form-data",<form>標籤的method屬性應該指定為"post",同時表單應該提供一個<input type="file">的輸入域用於指定上傳的檔案。

3.伺服器端要求:

當表單提交時,瀏覽器將表單各個部分的資料傳送到伺服器端,每個部分之間使用分隔符分隔開。在伺服器端使用Servlet就可以得到上傳來的檔案內容並將其儲存到伺服器的特定位置。通過請求物件的下面兩個方法來處理上傳的檔案:

(1)public Part getPart(String name): 返回用name指定名稱的Part物件。

(2)public Collection<Part> getParts():返回Part物件的一個集合。

Part是Servlet 3.0 API新增的一個介面,定義在javax.servlet.http包中。它表示多部分表單資料的一部分。它提供下面常用方法:

(1)public InputStream getInputStream() throws IOException:返回Part物件的輸入流物件。

(2)public String getContentType():返回Part物件的內容型別。

(3)public String getName():返回Part物件的名稱。

(4)public long getSize():返回Part物件的大小。

(5)public Collection<Part> getHeaderNames():返回Part物件頭名稱的集合。

(6)public void delete() throws IOException:刪除臨時檔案。

(7)public void write(String fileName) throws IOException:將Part物件寫到指定的檔案中。