Java檔案上傳如何實現呢?
在Web應用中,由於大多數檔案的上傳都是透過表單的形式提交給伺服器的。因此,要想在程式中實現檔案上傳的功能,首先得建立一個用於提交上傳檔案的表單頁面。需要注意的是,為了使Servlet程式可以獲取到上傳檔案的資料,需要將表單頁面的method屬性設定為post方式,enctype屬性設定為“multipart/form-data”型別,新增檔案的input標籤型別設定為file型別。示例如下:
當瀏覽器透過表單提交上傳檔案時,由於檔案資料都附帶在HTTP請求訊息體中,並且採用MIME型別(多用途網際網路郵件擴充套件型別)進行描述。因此,瀏覽器傳送給伺服器的HTTP訊息比較特殊,具體示例如下:
從上面的表單請求正文可以看出,請求正文分為多個部分,解析這部分內容比較麻煩。為此,Apache組織提供了一個開源元件Commons-FileUpload,該元件可以方便地將“multipart/form-data”型別請求中的各種表單域解析出來,並實現一個或多個檔案的上傳,同時也可以限制上傳檔案的大小等內容,並且效能優異,使用極其簡單。需要注意的是,在使用FileUpload元件時,需要匯入commons-fileupload和commons-io兩個jar包。
為了大家更好地理解FileUpload元件是如何實現檔案的上傳功能,接下來,開啟FileUpload元件的幫助文件,檢視其實現方式,具體如圖6-1所示。
圖1 fileUpload類原始碼
從圖1中可以看出,FileUpload元件也是透過Servlet來實現檔案上傳功能的。其工作流程如圖2所示。
圖2 FileUpload元件實現檔案上傳的工作流程
從圖2中可以看出,實現檔案的上傳會涉及到幾個陌生類,這些類都是Apache元件上傳檔案的核心類。關於這些核心類的相關知識,將在下面的小節進行詳細講解。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2764595/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用java的MultipartFile實現layui官網檔案上傳實現全部示例,java檔案上傳JavaUI
- Java如何上傳大檔案Java
- JAVA實現大檔案分片上傳斷點續傳Java斷點
- ajax實現檔案上傳
- PHP實現單檔案、多檔案上傳 封裝 物件導向實現檔案上傳PHP封裝物件
- 檔案上傳原理和實現
- 使用Spring實現上傳檔案Spring
- Spring mvc檔案上傳實現SpringMVC
- HttpFileCollection 實現多檔案上傳HTTP
- 通過配置檔案(.htaccess)實現檔案上傳
- js實現帶上傳進度的檔案上傳JS
- Java Web 檔案上傳JavaWeb
- 關於node實現檔案上傳
- PHP實現圖片(檔案)上傳PHP
- Feign實現檔案上傳下載
- SpringMVC多個檔案上傳實現SpringMVC
- 教你如何實現c#檔案上傳下載功能C#
- .net web core 如何編碼實現檔案上傳功能Web
- Java實現檔案斷點續傳Java斷點
- 如何將超大檔案傳輸給別人,超大檔案如何傳輸呢?
- Java大檔案上傳、分片上傳、多檔案上傳、斷點續傳、上傳檔案minio、分片上傳minio等解決方案Java斷點
- SpringBoot專案實現檔案上傳和郵件傳送Spring Boot
- 自定義檔案上傳功能實現方法
- 【node】檔案上傳功能簡易實現
- Spring Cloud Feign的檔案上傳實現SpringCloud
- node中間層實現檔案上傳
- SpringMVC實現多檔案上傳原始碼SpringMVC原始碼
- SpringMVC實現檔案上傳&下載(2)SpringMVC
- python+selenium+autoit實現檔案上傳Python
- SpringBoot實現檔案上傳功能詳解Spring Boot
- struts動態多檔案上傳實現
- 使用Spring Boot實現檔案上傳功能Spring Boot
- JAVA檔案上傳下載Java
- 用Go語言實現多協程檔案上傳,斷點續傳,你如何實現?Go斷點
- .NET Core 如何上傳檔案及處理大檔案上傳
- 前端實現檔案下載和拖拽上傳前端
- JavaScript+PHP實現影片檔案分片上傳JavaScriptPHP
- 使用spring-webmvc6實現檔案上傳SpringWebMVC