日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文件上传介绍

發布時間:2024/4/13 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件上传介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件上傳


問題:什么是文件上傳?為什么使用文件上傳?
就是將客戶端資源,通過網絡傳遞到服務器端。????????
就是因為數據比較大,我們必須通過文件上傳才可以完成將數據保存到服務器端操作.
????????????
文件上傳的本質:就是IO流的操作。
????????????
演示:文件 上傳應該 怎樣操作?


????
瀏覽器端:

?

1.method=post 只有post才可以攜帶大數據
2.必須使用<input type='file' name='f'>要有name屬性
3.encType="multipart/form-data"


????????
服務器端:


request對象是用于獲取請求信息。
它有一個方法getInputStream(); 可以獲取一個字節輸入流,通過這個流,可以讀取到
所有的請求正文信息.
????????????
文件上傳原理:
瀏覽器端注意上述三件事,在服務器端通過流將數據讀取到,在對數據進行解析.
將上傳文件內容得到,保存在服務器端,就完成了文件上傳。
????????????
在實際開發中,不需要我們進行數據解析,完成文件上傳。因為我們會使用文件上傳的工具,它們已經封裝好的,
提供API,只要調用它們的API就可以完成文件上傳操作.
????
我們使用的commons-fileupload,它是apache提供的一套開源免費的文件上傳工具。

?

?

package cn.learn.web.servlet;import java.io.IOException; import java.io.InputStream;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class Upload1Servlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//通過request獲取一個字節輸入流,將所有的請求正文信息讀取到,打印到控制臺。InputStream is=request.getInputStream();byte[] b=new byte[1024];int len=-1;while((len=is.read(b))!=-1){System.out.print(new String(b,0,len));}is.close();}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}

實現web開發中的文件上傳功能,需完成如下二步操作:??
?? ?在web頁面中添加上傳輸入項
?? ?在servlet中讀取上傳文件的數據,并保存到服務器硬盤中。
如何在web頁面中添加上傳輸入項?
?? ?<input type=“file”>標簽用于在web頁面中添加文件上傳輸入項,設置文件上傳輸入項時須注意:
?? ?1、必須要設置input輸入項的name屬性,否則瀏覽器將不會發送上傳文件的數據。
?? ?2、必須把form的enctype屬值設為multipart/form-data.設置該值后,瀏覽器在上傳文件時,將把文件數據附帶在http請求消息體中,
?? ??? ?并使用MIME協議對上傳的文件進行描述,以方便接收方對上傳數據進行解析和處理。
?? ?3、表單的提交方式要是post

如何在Servlet中讀取文件上傳數據,并保存到本地硬盤中?
?? ?Request對象提供了一個getInputStream方法,通過這個方法可以讀取到客戶端提交過來的數據。
?? ??? ?但由于用戶可能會同時上傳多個文件,在servlet端編程直接讀取上傳數據,并分別解析出相應的文件數據
?? ??? ?是一項非常麻煩的工作,示例。
?? ?為方便用戶處理文件上傳數據,Apache 開源組織提供了一個用來處理表單文件上傳的一個開源組件( Commons-fileupload ),
?? ??? ?該組件性能優異,并且其API使用極其簡單,可以讓開發人員輕松實現web文件上傳功能,因此在web開發中實現文件上傳功能,
?? ??? ?通常使用Commons-fileupload組件實現。

?

?

總結

以上是生活随笔為你收集整理的文件上传介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。