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...