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斷點
- java實現sftp檔案的上傳下載JavaFTP
- ajax實現檔案上傳
- PHP實現單檔案、多檔案上傳 封裝 物件導向實現檔案上傳PHP封裝物件
- Java實現上傳檔案到Oracle及從Oracle下載檔案JavaOracle
- AngularJS實現的檔案檔案上傳AngularJS
- HttpFileCollection 實現多檔案上傳HTTP
- 檔案上傳原理和實現
- springmvc實現檔案上傳SpringMVC
- 用java+ftp實現檔案上傳的問題?JavaFTP
- Jsp+Servlet實現檔案上傳下載(一)--檔案上傳JSServlet
- 通過配置檔案(.htaccess)實現檔案上傳
- js實現帶上傳進度的檔案上傳JS
- .net web core 如何編碼實現檔案上傳功能Web
- 教你如何實現c#檔案上傳下載功能C#
- PHP實現圖片(檔案)上傳PHP
- 關於node實現檔案上傳
- 使用Spring實現上傳檔案Spring
- Spring mvc檔案上傳實現SpringMVC
- JS實現檔案自動上傳JS
- Java Web 檔案上傳JavaWeb
- 如何將超大檔案傳輸給別人,超大檔案如何傳輸呢?
- Java實現檔案斷點續傳Java斷點
- struts動態多檔案上傳實現
- 【node】檔案上傳功能簡易實現
- 自定義檔案上傳功能實現方法
- SpringMVC多個檔案上傳實現SpringMVC
- Feign實現檔案上傳下載
- node中間層實現檔案上傳
- Web上傳檔案的原理及實現Web
- Windows Phone7 實現檔案上傳Windows
- 用Go語言實現多協程檔案上傳,斷點續傳,你如何實現?Go斷點
- Java使用記憶體對映實現大檔案的上傳Java記憶體
- JAVA檔案上傳下載Java
- Java檔案上傳細講Java
- 【Java基礎】--上傳檔案Java