Java中的文件上傳和下載
文件上傳原理:
早期的文件上傳機制:
在TCP/IP中。最早出現的文件上傳機制是FTP。他是將文件由客戶端發送到服務器的標準機制。
jsp中的文件上傳機制:
在jsp編程中不能使用FTP的方法來上傳文件,這是由jsp運行機制所決定的。jsp中通過將表單元素設置Method="post" enctype="multipart/form-data" 屬性,讓表單以二進制編碼的方式提交,在接收次請求的Servelet中用二進制流來獲取內容,從而實現文件的上傳。
表單的enctype屬性:
application/x-www-form-urlencoded:默認編碼方式,它只處理表單域裏的value屬性值,采用這種編碼方式的表單會將表單域的值處理成URL編碼的方式。
multipart/form-data:這種編碼方式的表單會以二進制流的方式來處理表單數據,這種編碼方式會把文件域制定文件的內容也封裝到請求參數裏。
text/plain:這種方式主要適用於直接通過表單發送郵件的方式。
文件下載原理:
setp1:通過HttpServletResponse.setContentType()方法設置Content-Type頭字段的值,來設置MIME類型,告訴瀏覽器應該使用那種方式來響應我們的返回的信息,例如設置為:"application/octet-stream" 或 "application/x-msdownload"等。
step2:
step3:讀取下載文件,調用HttpServletResponse.getOutputStream()方法返回的ServletOutputStream對象來向客戶端寫入附件文件內容。
Java中的文件上傳和下載