javaweb實現上傳功能

來源:互聯網
上載者:User
e安教育 2017-03-08 09:42

1.要實現上傳功能要注意以下幾點

①對於表單的限制

②對於servlet的限制

只要添加了enctype="multipart/form-data"這個屬性.

在servlet裡面的方法,即是 request.getParameter(),就使用不了了,因為該方法只會返回null

那麼假如要擷取請求的內容 只可以使用方法

③補充:

2.commons-fileupload

需要匯入兩個jar包

commons-fileupload的使用如下:

commons-fileupload 的原理是將請求體解析後,存入到FileItem的集合裡面去.

然後分別操作FileItem的API來擷取請求體的相關內容

3.上傳檔案需要注意的幾點問題

①上傳的檔案最好放在WEB-INF檔案夾裡面,因為這樣子可以避免別人直接存取你的檔案.

②部分瀏覽器上傳的檔案可能是絕對路徑,也有的瀏覽器是相對路徑,這一點要進行處理

③要防止上傳檔案亂碼問題,解決方案:

④要解決檔案同名的問題:

⑤上傳的檔案目錄打散問題:

這一點是要求同一個檔案夾裡邊不可以存放過多檔案

關於目錄打散有多種方式:

這裡介紹一種:

⑥上傳的檔案大小限制

主要有兩種限制,分別是單個的檔案大小限制,和 單個請求的大小限制

我們實現大小限制的代碼如下:

注意:以上兩句代碼必須寫在解析請求之前,即是在代碼sfu.parseRequest(request);之前.否則不起作用.

⑦緩衝大小和臨時目錄

緩衝大小:當超出了該大小的時候,會將檔案臨時儲存在臨時目錄之中

其中

DiskFileItemFactory dff=new DiskFileItemFactory ();這句代碼已經預設了緩衝大小和臨時目錄了.

另外,我們也可以在該構造方法裡面傳入兩個參數,分別設定緩衝大小和臨時目錄

【本文為e安線上合作講師“劉建恒”原創稿件,轉載請聯絡e安線上】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.