2. 範例程式如下:
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iterator = upload.getItemIterator(request);
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
//判斷是否為一般Form的文字資料,還是檔案
if (item.isFormField()) {
if (item.getFieldName().equals("icon.name")) {
InputStream i = item.openStream();
byte[] b = new byte[i.available()];
i.read(b);
icon.setName(new String(b));
}
} else {
InputStream i = item.openStream();
byte[] b = new byte[i.available()];
i.read(b);
icon.setFile(new Blob(b));
}
}
FileItemIterator iterator = upload.getItemIterator(request);
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
//判斷是否為一般Form的文字資料,還是檔案
if (item.isFormField()) {
if (item.getFieldName().equals("icon.name")) {
InputStream i = item.openStream();
byte[] b = new byte[i.available()];
i.read(b);
icon.setName(new String(b));
}
} else {
InputStream i = item.openStream();
byte[] b = new byte[i.available()];
i.read(b);
icon.setFile(new Blob(b));
}
}
你好 我在/lib放入commons-fileupload-1.2.1.jar!
回覆刪除但是 import 的時候 一直抓不到 org.apache.commons.fileupload 這個元件
一直找不出原因 ... 麻煩指點一下 謝謝
不好意思,請問一個遇到的小問題..
回覆刪除如果我要處理文字的部分,要怎麼存取?
我用本來的方式(req.getParameter)讀出來都是 null..||
Dear 一步登天:
回覆刪除請確認您的Jar檔是否放在WEB-INF\lib。
ps. "org.apache.commons.fileupload"應該只是一個package name
Dear 紅淚:
回覆刪除如果你的form的enctype="multipart/form-data"那邊就需要使用我文章內提到的方法
if (item.getFieldName().equals("parameterName")) {
InputStream i = item.openStream();
byte[] b = new byte[i.available()];
i.read(b);
icon.setName(new String(b));
}