在jsp中實現文件上傳
可用的類庫很多
比如有著名的jspsmart公司SmartUpload
struts裡面也有
我這裡說說cos
它是O
Reilly公司的
O
Reilly的圖書是很
錯的
這個上傳的組件也做得很棒
最重要的是
它是open source的
下載最新的cos包()
加入到你的classpath中
編寫一個需要上傳文件的jsp
為了方便
我就用一個簡單的htm文件了
在這個頁面中
我們讓用戶一次可以上傳
個文件
/////////////////////////////////////////////////////////
<!DOCTYPE HTML PUBLIC
//W
C//DTD HTML
Transitional//EN
>
<html>
<head>
<meta http
equiv=
Content
Type
content=
text/html;charset=gb
>
<title>無標題文檔</title>
</head>
<body>
<!
enctype的值很重要
upload
jsp為處理上傳的jsp
>
<form name=
form
method=
post
enctype=
multipart/form
data
action=
upload
jsp
>
<p>
<input name=
file
type=
file
>
</p>
<p>
<input name=
file
type=
file
>
</p>
<p> <input name=
file
type=
file
>
</p>
<p>
<input type=
submit
name=
Submit
value=
上傳
>
</p>
</form >
</body>
</html>
在c:\下建一個目錄c:\upload
用來存放上傳的文件
寫一個jsp或者servlet來實現上傳
我這裡用一個叫upload
jsp
這樣就不用配置web
xml
呵呵
比較懶的說
////////////////////////////upload
jsp////////////////////////
<%@page import=
java
io
*
%>
<%@page import=
com
oreilly
servlet
MultipartRequest
%>
<%@page import=
com
oreilly
servlet
multipart
CoverFileRenamePolicy
%>
<%@page contentType=
text/html; charset=gb
%>
<%
//文件上傳後
保存在c:\\upload
String saveDirectory =
c:\\upload
;
//每個文件最大
m
最多
個文件
所以
int maxPostSize =
*
*
*
;
//response的編碼為
gb
同時采用缺省的文件名沖突解決策略
實現上傳
MultipartRequest multi =
new MultipartRequest(request
saveDirectory
maxPostSize
gb
);
//輸出反饋信息
Enumeration files = multi
getFileNames();
while (files
hasMoreElements()) {
System
err
println(
ccc
);
String name = (String)files
nextElement();
File f = multi
getFile(name);
if(f!=null){
String fileName = multi
getFilesystemName(name);
String lastFileName= saveDirectory+
\\
+ fileName;
out
println(
上傳的文件:
+lastFileName);
out
println(
<hr>
);
}
}
%>
<meta http
equiv=
Content
Type
content=
text/html;charset=gb
>
最後把這
個文件發布到你的服務器就行了
上傳文件就搞定啦
以後你想在你郵件系統裡面嵌入發送附件的功能
用這個來做上傳也不錯啊
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19376.html