Java實現文件上傳下載功能

一、原理介紹

1.文件上傳原理

	在TCP/IP中,最早出現的文件上傳機制是FTP。它是將文件由客戶端發送到服務器的標準機制。但是在JSP編程過程中不能使用FTP方法來上傳文件,這是由JSP的運行機制所決定的。
在JSP中通過爲表單元素設置Method="post" enctype="multipart/form-data"屬性,讓表單提交的數據以二進制編碼的方式提交,在接受此請求的Servlet中用二進制流來獲取內容,就可以去的文件上傳的內容,從而實現文件的上傳。
下面是表單enctype屬性:
Application/x-www-form-urencoded 該屬性爲默認編碼方式,它只處理表單域裏面的value屬性值,採用這種編碼方式的表單會將表單域的值處理成URL編碼方式。
multipart/form-data 這種編碼方式的表單會以二進制流的方式來處理表單數據,這種編碼方式會把文件域制定文件的內容也封裝到請求參數裏。
text/plain 這種方式主要適用與直接通過表單發送郵件的方式。

2.文件下載原理

第一步:需要通過HttpServletResponse.setContentType方法設置Content-Type投資端的值,爲瀏覽器無法使用某種方式或激活某個程序來處理的MIME類型,例如,“application/octetstream”或者“application/x-msdownload”等。
第二步:需要通過HttpServletResponse.setHeader方法設置Content-Disposition頭的值爲“attachment;filename = 文件名”
第三部:讀取下載文件,調用HttpServletResponse.getOutputStream方法返回的ServletOutputStream對象來向客戶端寫入附件文件內容。





發佈了45 篇原創文章 · 獲贊 30 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章