1. 程式人生 > >【JAVAWEB學習筆記】29_文件的上傳------commons-fileupload

【JAVAWEB學習筆記】29_文件的上傳------commons-fileupload

單位 web align 位置 獲得 對象 ets upload put

今天內容:

文件的上傳------commons-fileupload

文件上傳和下載的實質:文件的拷貝

文件上傳:從本地拷貝到服務器磁盤上 客戶端需要編寫文件上傳表單---->服務端需要編寫代碼接受上傳的 文件

文件下載:從服務器磁盤上拷貝到本地磁盤 需要編寫服務端的代碼,客戶端的下載的工作瀏覽器內核解決的

一、文件上傳

1、文件上傳的步驟:

(1) 需要寫一個文件上傳表單

(2) 編寫服務器端的代碼用於接收上傳的文件

2、客戶端的編碼

註意事項:

技術分享

3、服務端接受文件上傳的表單數據

文件上傳接收原理

技術分享

使用方便快捷的文件上傳的工具---Apache Commons-fileupload.jar

使用步驟:

(1) 下載文件上傳的jar包 fileuplaod 借助於 commons-io.jar

技術分享

(2) 使用fileupload工具中的API進行編碼

4、FileUpload工具中三個核心的對象

DiskFileItemFactory:磁盤文件項工廠--一些相關的配置的設置 緩存的大小 臨時目錄的位置

ServletFileUplaod:文件上傳的一個核心類

FileItem:代表每一個表單項

5、快速入門

6、文件上傳的API的詳解

(1) DiskFileItemFactory

設置緩存大小:factory.setSizeThreshold() 單位是字節

設置臨時文件的目錄:factory.setRepository(File)

(2) ServletFileUpload

判斷是否是一個文件上傳的表單:ServletFileUpload.isMultipartContent(request);

解析request獲得表單項的集合:upload.parseRequest(request);

設置上傳的文件名的編碼方式:upload.setHeaderEncoding("UTF-8");

(3) FileItem

判斷是否是普通表單項:item.isFormField();

獲得表單的name屬性值:item.getFieldName();

獲得表單的value值:item.getString("UTF-8") --- UTF-8表示獲得中文時的編碼

獲得上傳文件的名稱:item.getName()

獲得上傳文件:item.getInputStream();

刪除臨時文件:item.delete();

【JAVAWEB學習筆記】29_文件的上傳------commons-fileupload