// 構造出檔案工廠,用於存放jsp頁面中傳遞過來的檔案
diskfileitemfactory factory = new diskfileitemfactory();
// 設定快取大小,如果檔案大於快取大小時,則先把檔案放到快取中
factory.setsizethreshold(4 * 1024);
// 設定上傳檔案的儲存路徑
factory.setrepository(f);
// 產生servlet上傳物件
servletfileupload upload = new servletfileupload(factory);
upload.setheaderencoding("utf-8");
// 設定可以上傳檔案大小的上界4mb
upload.setsizemax(4 * 1024 * 1024);
try
filename = util.getimagename(filename);
string filepath = projectpath + fieldname;
file uf = new file(filepath);
// 更改檔案的儲存路徑,以防止檔案重名的現象出現
if (!uf.exists())
// 此輸出路徑為儲存到資料庫中photo欄位的路徑
string insertdb = filepath + "\\" + filename;
system.out.println("檔案路徑:" + insertdb + ":"
+ insertdb.length());
file uploadedfile = new file(filepath, filename);
try
item.write(uploadedfile);
message = "上傳檔案成功
基本資訊如下:
檔名:"
+ filename + "
檔案型別:" + contenttype
+ "檔案大小:" + filesize + "b";
imagepath = filename;
i = 1;
} catch (exception e)
} else
} else
}}catch (fileuploadexception e) catch (unsupportedencodingexception e)
jsp form新增屬性enctype="multipart/form-data"
Servlet 檔案上傳
servlet 檔案上傳 1.使用inputstream 通過 request.getinputstream 獲取檔案輸入流,上傳解析 如下 但是這種方法上傳的檔案與檔案之間用分隔符隔開,導致解析檔案內容比較困難。獲取上傳檔案,列印檔案內容如下 7df13128408c8 content dispo...
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...