Servlet 檔案上傳

2021-07-06 10:16:03 字數 1870 閱讀 4643

servlet 檔案上傳

1.

使用inputstream

通過

request.getinputstream

()獲取檔案輸入流,

上傳解析**如下

但是這種方法上傳的檔案與檔案之間用分隔符隔開,導致解析檔案內容比較困難。

獲取上傳檔案,列印檔案內容如下:

-----------------------------7df13128408c8

content-disposition: form-data; name="file2"; filename="c:\users\mapengbo\desktop\android-statistic.txt"

content-type: text/plain

hello world

-----------------------------7df13128408c8

content-disposition: form-data; name="file3"; filename="c:\users\mapengbo\desktop\android-statistic.txt"

content-type: text/plain

hello every body

-----------------------------7df13128408c8—

其中「-----------------------------7df13128408c8

」就是檔案的分隔符,

分隔符每次上傳都不一樣,可通過下面的**輸出這個字段值:

system.out.println(request.getheader("content-type"));

輸出的內容如下:

multipart/form-data; boundary=---------------------------106712230227687

接下來的工作就是解析這些檔案流,獲取檔案內容。

網上看到的解析的**:

2.

使用開源元件(commons-fileupload)

首先專案中要引入

commons-fileupload-1.2.jar

**如下

用該工具包的好處是不用自己解析檔案內容。

servlet檔案上傳

構造出檔案工廠,用於存放jsp頁面中傳遞過來的檔案 diskfileitemfactory factory new diskfileitemfactory 設定快取大小,如果檔案大於快取大小時,則先把檔案放到快取中 factory.setsizethreshold 4 1024 設定上傳檔案的儲存路...

servlet 檔案上傳

org.apache.commons.fileupload 檔案上傳的細節處理 1.上傳檔名的中文亂碼問題 解決方案 呼叫servletfileupload.setheaderencoding方法即可 2.上傳表單中的普通字段亂碼問題 解決方案 獲取資料時呼叫fileitem.getstring c...

Servlet檔案上傳

一 jsp內容 1.method post 2.enctype multipart form data 二 servlet 1.首先需要用到兩個第三方jar包 2.主要用到三個類 diskfileitemfactory 生產fileitem的工廠 三 解決檔名亂碼問題 1.解決檔名中文亂碼 requ...