一。
web.xml文件
-
<?
xml
?
version
=
"1.0"
?
encoding
=
"UTF-8"
?>
??
-
<!DOCTYPE?web-app ??
-
??PUBLIC?"-//Sun?Microsystems,?Inc.//DTD?Web?Application?2.3//EN" ??
-
??"http://java.sun.com/dtd/web-app_2_3.dtd"
>
??
-
? ??
-
<
web-app
>
??
-
????
<
servlet
>
??
-
????????
<
servlet-name
>
actionServlet
</
servlet-name
>
??
-
????????
<
servlet-class
>
org.apache.struts.action.ActionServlet
</
servlet-class
>
??
-
????????
<
init-param
>
??
-
?????????????
<
param-name
>
config
</
param-name
>
??
-
?????????????
<
param-value
>
/WEB-INF/struts-config.xml
</
param-value
>
??
-
????????
</
init-param
>
??
-
????????
<
init-param
>
??
-
?????????????
<
param-name
>
debug
</
param-name
>
??
-
?????????????
<
param-value
>
2
</
param-value
>
??
-
????????
</
init-param
>
??
-
????????
<
load-on-startup
>
0
</
load-on-startup
>
??
-
????
</
servlet
>
??
-
????
??
-
????
<
servlet-mapping
>
??
-
????????
<
servlet-name
>
actionServlet
</
servlet-name
>
? ??
-
????????
<
url-pattern
>
*.do
</
url-pattern
>
??
-
????
</
servlet-mapping
>
??
-
????
??
-
????
<
welcome-file-list
>
??
-
?????????
<
welcome-file
>
index.jsp
</
welcome-file
>
??
-
????
</
welcome-file-list
>
??
-
????
??
-
????
<
error-page
>
??
-
?????????
<
error-code
>
404
</
error-code
>
??
-
?????????
<
location
>
/error.jsp
</
location
>
??
-
????
</
error-page
>
??
-
</
web-app
>
??
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>actionServlet</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<!-- struts actionServlet mapping-->
<servlet-mapping>
<servlet-name>actionServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- welcome file list -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- error handle -->
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
</web-app>
?二。
struts-config.xml文件
-
<?
xml
?
version
=
"1.0"
?
encoding
=
"ISO-8859-1"
?
?>
???? ??
-
<!DOCTYPE?struts-config?PUBLIC ??
-
??????????"-//Apache?Software?Foundation//DTD?Struts?Configuration?1.2//EN" ??
-
??????????"http://struts.apache.org/dtds/struts-config_1_2.dtd"
>
??
-
<
struts-config
>
??
-
?????
??
-
?????
<
form-beans
>
??
-
?????????
<
form-bean
?
name
=
"uploadForm"
?
type
=
"org.apache.struts.action.DynaActionForm"
>
??
-
????????????
<
form-property
?
name
=
"type"
?
type
?=
"java.lang.String[]"
/>
??
-
????????????
<
form-property
?
name
=
"name"
?
type
?=
"java.lang.String[]"
/>
??
-
??????????????
<
form-property
?
name
=
"file0"
?
type
?=
"org.apache.struts.upload.FormFile"
/>
??
-
????????????
<
form-property
?
name
=
"file1"
?
type
?=
"org.apache.struts.upload.FormFile"
/>
??
-
????????????
<
form-property
?
name
=
"file2"
?
type
?=
"org.apache.struts.upload.FormFile"
/>
??
-
????????????
<
form-property
?
name
=
"file3"
?
type
?=
"org.apache.struts.upload.FormFile"
/>
??
-
????????????
<
form-property
?
name
=
"file4"
?
type
?=
"org.apache.struts.upload.FormFile"
/>
??
-
????????????
<
form-property
?
name
=
"file5"
?
type
?=
"org.apache.struts.upload.FormFile"
/>
??
-
????????????
<
form-property
?
name
=
"file6"
?
type
?=
"org.apache.struts.upload.FormFile"
/>
??
-
????????????
<
form-property
?
name
=
"file7"
?
type
?=
"org.apache.struts.upload.FormFile"
/>
??
-
????????????
<
form-property
?
name
=
"file8"
?
type
?=
"org.apache.struts.upload.FormFile"
/>
??
-
????????????
<
form-property
?
name
=
"file9"
?
type
?=
"org.apache.struts.upload.FormFile"
/>
??
-
?????????
</
form-bean
>
??
-
?????
</
form-beans
>
??
-
?????
??
-
?????
<
global-forwards
>
??
-
??????????
<
forward
?
name
=?
"successed"
?
path
=
"/index.jsp"
>
</
forward
>
???? ??
-
??????????
<
forward
?
name
=?
"failed"
?
path
=
"/error.jsp"
>
</
forward
>
???? ??
-
?????
</
global-forwards
>
??
-
?????
??
-
?????
<
action-mappings
>
??
-
??????????
<
action
?
path
=
"/uploaded"
?
type
=
"com.fangchuang.action.UploadAction"
? ??
-
??????????????????
name
=
"uploadForm"
?
scope
=
"request"
?
input
=
"/upload.jsp"
>
??
-
????????????????
<
forward
?
name
=
"uploaded"
?
path
=
"/upload.jsp"
>
</
forward
>
??
-
??????????
</
action
>
??
-
?????
</
action-mappings
>
??
-
</
struts-config
>
??
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<!-- form beans -->
<form-beans>
<form-bean name="uploadForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="type" type ="java.lang.String[]"/>
<form-property name="name" type ="java.lang.String[]"/>
<form-property name="file0" type ="org.apache.struts.upload.FormFile"/>
<form-property name="file1" type ="org.apache.struts.upload.FormFile"/>
<form-property name="file2" type ="org.apache.struts.upload.FormFile"/>
<form-property name="file3" type ="org.apache.struts.upload.FormFile"/>
<form-property name="file4" type ="org.apache.struts.upload.FormFile"/>
<form-property name="file5" type ="org.apache.struts.upload.FormFile"/>
<form-property name="file6" type ="org.apache.struts.upload.FormFile"/>
<form-property name="file7" type ="org.apache.struts.upload.FormFile"/>
<form-property name="file8" type ="org.apache.struts.upload.FormFile"/>
<form-property name="file9" type ="org.apache.struts.upload.FormFile"/>
</form-bean>
</form-beans>
<!-- forward -->
<global-forwards>
<forward name= "successed" path="/index.jsp"></forward>
<forward name= "failed" path="/error.jsp"></forward>
</global-forwards>
<!-- action handle-->
<action-mappings>
<action path="/uploaded" type="com.fangchuang.action.UploadAction"
name="uploadForm" scope="request" input="/upload.jsp">
<forward name="uploaded" path="/upload.jsp"></forward>
</action>
</action-mappings>
</struts-config>
?
三。
upload.jsp文件
<%@ page language="java" import="java.util.*" pageEncoding="gb2312" errorPage="error.jsp"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="title"%>
<!-- 上傳多個文件的jsp文件
//可以隨便轉載,請保留出自http://www.javaresearch.org 作者anEngineer
-->
<html>
<head>
<title>上傳多個文件的jsp文件</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="struts,多個文件,上傳">
<meta http-equiv="description" content="This is a test">
</head>
<body>
<html:form action="uploaded.do" enctype="multipart/form-data" method="post">
<table border="1" width="80%" align="center">
<tr bgColor=#62bcff>
<td align="left">文件類型</td>
<td align="left">文件描述</td>
<td align="left">文件名</td>
</tr>
<tr>
<td align="left"><select name="type">
<option value="1" selected>湖南省</option>
<option value="2">湖北省</option>
<option value="3">廣東省</option>
<option value="4">北京市</option>
<option value="5">上海市</option>
</select></td>
<td align="left"><input type="text" name="name" value=""></td>
<td align="left"><input type="file" name="file0" size="35" value="">
</td>
</tr>
<tr>
<td align="left"><select name="type">
<option value="1"selected>湖南省</option>
<option value="2">湖北省</option>
<option value="3">廣東省</option>
<option value="4">北京市</option>
<option value="5">上海市</option>
</select></td>
<td align="left"><input type="text" name="name" value=""></td>
<td align="left"><input type="file" name="file1" size="35" value="">
</td>
</tr>
<tr>
<td align="left"><select name="type">
<option value="1">湖南省</option>
<option value="2"selected>湖北省</option>
<option value="3">廣東省</option>
<option value="4">北京市</option>
<option value="5">上海市</option>
</select></td>
<td align="left"><input type="text" name="name" value=""></td>
<td align="left"><input type="file" name="file2" size="35" value="">
</td>
</tr>
<tr>
<td align="left"><select name="type">
<option value="1">湖南省</option>
<option value="2"selected>湖北省</option>
<option value="3">廣東省</option>
<option value="4">北京市</option>
<option value="5">上海市</option>
</select></td>
<td align="left"><input type="text" name="name" value=""></td>
<td align="left"><input type="file" name="file3" size="35" value="">
</td>
</tr>
<tr>
<td align="left"><select name="type">
<option value="1">湖南省</option>
<option value="2">湖北省</option>
<option value="3"selected>廣東省</option>
<option value="4">北京市</option>
<option value="5">上海市</option>
</select></td>
<td align="left"><input type="text" name="name" value=""></td>
<td align="left"><input type="file" name="file4" size="35" value="">
</td>
</tr>
<tr>
<td align="left"><select name="type">
<option value="1">湖南省</option>
<option value="2">湖北省</option>
<option value="3"selected>廣東省</option>
<option value="4">北京市</option>
<option value="5">上海市</option>
</select></td>
<td align="left"><input type="text" name="name" value=""></td>
<td align="left"><input type="file" name="file5" size="35" value="">
</td>
</tr>
<tr>
<td align="left"><select name="type">
<option value="1">湖南省</option>
<option value="2">湖北省</option>
<option value="3">廣東省</option>
<option value="4"selected>北京市</option>
<option value="5">上海市</option>
</select></td>
<td align="left"><input type="text" name="name" value=""></td>
<td align="left"><input type="file" name="file6" size="35" value="">
</td>
</tr>
<tr>
<td align="left"><select name="type">
<option value="1">湖南省</option>
<option value="2">湖北省</option>
<option value="3">廣東省</option>
<option value="4"selected>北京市</option>
<option value="5">上海市</option>
</select></td>
<td align="left"><input type="text" name="name" value=""></td>
<td align="left"><input type="file" name="file7" size="35" value="">
</td>
</tr>
<tr>
<td align="left"><select name="type">
<option value="1">湖南省</option>
<option value="2">湖北省</option>
<option value="3">廣東省</option>
<option value="4">北京市</option>
<option value="5"selected>上海市</option>
</select></td>
<td align="left"><input type="text" name="name" value=""></td>
<td align="left"><input type="file" name="file8" size="35" value="">
</td>
</tr>
<tr>
<td align="left"><select name="type">
<option value="1">湖南省</option>
<option value="2">湖北省</option>
<option value="3">廣東省</option>
<option value="4">北京市</option>
<option value="5"selected>上海市</option>
</select></td>
<td align="left"><input type="text" name="name" value=""></td>
<td align="left"><input type="file" name="file9" size="35" value="">
</td>
</tr>
<tr>
<td align="left"> </td>
<td align="left"> </td>
<td align="left"><input type="submit" value="上傳文件" value="submit"
onclick="return(confirm('你確認要上傳文件嗎?'))"></td>
</tr>
</table>
</html:form>
</body>
</html>
?
四。
還有兩個簡單jsp文件index.jsp,error.jsp可以自己寫。
五。
action文件
-
package
?com.fangchuang.action; ??
-
?
-
?
-
??
-
public
?
class
?UploadAction?
extends
?Action?{ ??
-
????
public
?ActionForward?execute( ??
-
????????????ActionMapping?mapping,? ??
-
????????????ActionForm?form, ??
-
????????????HttpServletRequest?request,? ??
-
????????????HttpServletResponse?response)?{ ??
-
????????
??
-
????????DynaActionForm?fileForm?=?(DynaActionForm)?form; ??
-
????????String[]?types?=?(String[])?fileForm.get(
"type"
); ??
-
????????String[]?names?=?(String[])?fileForm.get(
"name"
); ??
-
??
-
????????FormFile?file0?=?(FormFile)?fileForm.get(
"file0"
); ??
-
????????FormFile?file1?=?(FormFile)?fileForm.get(
"file1"
); ??
-
????????FormFile?file2?=?(FormFile)?fileForm.get(
"file2"
); ??
-
????????FormFile?file3?=?(FormFile)?fileForm.get(
"file3"
); ??
-
????????FormFile?file4?=?(FormFile)?fileForm.get(
"file4"
); ??
-
????????FormFile?file5?=?(FormFile)?fileForm.get(
"file5"
); ??
-
????????FormFile?file6?=?(FormFile)?fileForm.get(
"file6"
); ??
-
????????FormFile?file7?=?(FormFile)?fileForm.get(
"file7"
); ??
-
????????FormFile?file8?=?(FormFile)?fileForm.get(
"file8"
); ??
-
????????FormFile?file9?=?(FormFile)?fileForm.get(
"file9"
); ??
-
??
-
????????Map<String,?FormFile>?fileMap?=?
new
?HashMap<String,?FormFile>(); ??
-
????????fileMap.put(
"file0"
?+?
"*"
?+?types[
0
]?+?
"*"
?+?names[
0
],?file0); ??
-
????????fileMap.put(
"file1"
?+?
"*"
?+?types[
1
]?+?
"*"
?+?names[
1
],?file1); ??
-
????????fileMap.put(
"file2"
?+?
"*"
?+?types[
2
]?+?
"*"
?+?names[
2
],?file2); ??
-
????????fileMap.put(
"file3"
?+?
"*"
?+?types[
3
]?+?
"*"
?+?names[
3
],?file3); ??
-
????????fileMap.put(
"file4"
?+?
"*"
?+?types[
4
]?+?
"*"
?+?names[
4
],?file4); ??
-
????????fileMap.put(
"file5"
?+?
"*"
?+?types[
5
]?+?
"*"
?+?names[
5
],?file5); ??
-
????????fileMap.put(
"file6"
?+?
"*"
?+?types[
6
]?+?
"*"
?+?names[
6
],?file6); ??
-
????????fileMap.put(
"file7"
?+?
"*"
?+?types[
7
]?+?
"*"
?+?names[
7
],?file7); ??
-
????????fileMap.put(
"file8"
?+?
"*"
?+?types[
8
]?+?
"*"
?+?names[
8
],?file8); ??
-
????????fileMap.put(
"file9"
?+?
"*"
?+?types[
9
]?+?
"*"
?+?names[
9
],?file9); ??
-
??
-
????????Set?fileSet?=?fileMap.entrySet(); ??
-
????????Iterator?iter?=?fileSet.iterator(); ??
-
??
-
????????
??
-
????????String?filePath?=?
this
.getServlet().getServletContext().getRealPath(
"/"
); ??
-
????????
??
-
????????File?savePath?=?
new
?File(filePath?+?
"UploadFiles\\"
); ??
-
????????filePath?=?filePath+?
"UploadFiles\\"
; ??
-
????????
if
?(!savePath.exists())?{ ??
-
????????????savePath.mkdir(); ??
-
????????} ??
-
????????
while
?(iter.hasNext())?{ ??
-
????????????Map.Entry?unit?=?(Map.Entry)?iter.next(); ??
-
????????????String?key?=?(String)?unit.getKey(); ??
-
????????????FormFile?file?=?(FormFile)?unit.getValue();???? ??
-
????????????
??
-
????????????
if
?((file.getFileSize()?>=?
1
)&&?DealPhoto.isPhoto(file))?{ ??
-
????????????????
??
-
????????????????String?photoType?=?key.substring(key.indexOf(
"*"
)?+?
1
,?key ??
-
????????????????????????.lastIndexOf(
"*"
)); ??
-
????????????????
??
-
????????????????String?photoName?=?key.substring(key.lastIndexOf(
"*"
)?+?
1
,?key ??
-
????????????????????????.length()); ??
-
???????????????? ??
-
????????????????
??
-
????????????????
??
-
???????????????? ??
-
????????????????
??
-
????????????????
if
(DealPhoto.isFileExist(file.getFileName(),filePath)) ??
-
????????????????????DealPhoto.rename(file.getFileName(),filePath); ??
-
????????????????
try
?{ ??
-
?????????????????InputStream?stream?=?file.getInputStream();
??
-
?????????????????
??
-
?????????????????OutputStream?bos?=?
new
?FileOutputStream(filePath+file.getFileName()); ??
-
?????????????????
int
?bytesRead?=?
0
; ??
-
?????????????????
byte
[]?buffer?=?
new
?
byte
[
8192
]; ??
-
?????????????????
while
?((bytesRead?=?stream.read(buffer,?
0
,?
8192
))?!=?-
1
)?{ ??
-
??????????????????bos.write(buffer,?
0
,?bytesRead);
??
-
?????????????????} ??
-
?????????????????bos.close(); ??
-
?????????????????stream.close(); ??
-
????????????????}?
catch
?(Exception?e)?{ ??
-
????????????????????e.printStackTrace(); ??
-
????????????????} ??
-
????????????} ??
-
??
-
????????} ??
-
????????
return
?mapping.findForward(
"uploaded"
); ??
-
????????
??
-
????????
??
-
????} ??
-
}??
package com.fangchuang.action;
/**
* @author anEngineer 處理上傳文件action
*/
public class UploadAction extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
//可以隨便轉載,請保留出自http://www.javaresearch.org 作者anEngineer
DynaActionForm fileForm = (DynaActionForm) form;
String[] types = (String[]) fileForm.get("type");
String[] names = (String[]) fileForm.get("name");
FormFile file0 = (FormFile) fileForm.get("file0");
FormFile file1 = (FormFile) fileForm.get("file1");
FormFile file2 = (FormFile) fileForm.get("file2");
FormFile file3 = (FormFile) fileForm.get("file3");
FormFile file4 = (FormFile) fileForm.get("file4");
FormFile file5 = (FormFile) fileForm.get("file5");
FormFile file6 = (FormFile) fileForm.get("file6");
FormFile file7 = (FormFile) fileForm.get("file7");
FormFile file8 = (FormFile) fileForm.get("file8");
FormFile file9 = (FormFile) fileForm.get("file9");
Map<String, FormFile> fileMap = new HashMap<String, FormFile>();
fileMap.put("file0" + "*" + types[0] + "*" + names[0], file0);
fileMap.put("file1" + "*" + types[1] + "*" + names[1], file1);
fileMap.put("file2" + "*" + types[2] + "*" + names[2], file2);
fileMap.put("file3" + "*" + types[3] + "*" + names[3], file3);
fileMap.put("file4" + "*" + types[4] + "*" + names[4], file4);
fileMap.put("file5" + "*" + types[5] + "*" + names[5], file5);
fileMap.put("file6" + "*" + types[6] + "*" + names[6], file6);
fileMap.put("file7" + "*" + types[7] + "*" + names[7], file7);
fileMap.put("file8" + "*" + types[8] + "*" + names[8], file8);
fileMap.put("file9" + "*" + types[9] + "*" + names[9], file9);
Set fileSet = fileMap.entrySet();
Iterator iter = fileSet.iterator();
// 取當前系統路徑E:\Tomcat5\webapps\strutsUpload\ 其中strutsUpload為當前context
String filePath = this.getServlet().getServletContext().getRealPath("/");
// 保存文件的文件夾
File savePath = new File(filePath + "UploadFiles\\");
filePath = filePath+ "UploadFiles\\";
if (!savePath.exists()) {
savePath.mkdir();
}
while (iter.hasNext()) {
Map.Entry unit = (Map.Entry) iter.next();
String key = (String) unit.getKey();
FormFile file = (FormFile) unit.getValue();
//文件大小符合要求,且是圖片文件
if ((file.getFileSize() >= 1)&& DealPhoto.isPhoto(file)) {
//圖片類別
String photoType = key.substring(key.indexOf("*") + 1, key
.lastIndexOf("*"));
//圖片描述
String photoName = key.substring(key.lastIndexOf("*") + 1, key
.length());
//存數據庫操作,在數據庫中保存文件的名稱,類型,及在服務器上的相對路徑
//
//判斷是否重名
if(DealPhoto.isFileExist(file.getFileName(),filePath))
DealPhoto.rename(file.getFileName(),filePath);
try {
InputStream stream = file.getInputStream();// 把文件讀入
// 建立一個上傳文件的輸出流
OutputStream bos = new FileOutputStream(filePath+file.getFileName());
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);// 將文件寫入服務器
}
bos.close();
stream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return mapping.findForward("uploaded");
//還有其他可以改正的地方,如錯誤信息提示,把照片處理函數放到一個公用類,寫文件操作等
//可以隨便轉載,請保留出自http://www.javaresearch.org 作者anEngineer
}
}
?
六。
照片處理類文件
-
package
?com.fangchuang.run; ??
-
?
-
?
-
?
-
?
-
??
-
public
?
class
?DealPhoto?{ ??
-
????
?
-
?
-
?
-
?
-
??
-
????
public
?
static
?
boolean
?isPhoto(FormFile?file)?{ ??
-
????????String?fileName?=?getString(file.getFileName()); ??
-
????????
if
?(fileName.equals(
""
)) ??
-
????????????
return
?
false
; ??
-
????????
if
?((fileName.toLowerCase().endsWith(
".jpg"
)) ??
-
????????????????||?(fileName.toLowerCase().endsWith(
".gif"
)) ??
-
????????????????||?(fileName.toLowerCase().endsWith(
".png"
))) ??
-
????????????
return
?
true
; ??
-
????????
else
??
-
????????????
return
?
false
; ??
-
????} ??
-
??
-
????
?
-
?
-
?
-
?
-
??
-
????
public
?
static
?String?getString(String?str)?{ ??
-
????????
if
?(str?==?
null
) ??
-
????????????str?=?
""
; ??
-
????????
if
?(str.equals(
"null"
)) ??
-
????????????str?=?
""
; ??
-
????????str?=?str.trim(); ??
-
????????
return
?str; ??
-
????} ??
-
??
-
????
?
-
?
-
?
-
?
-
?
-
??
-
????
public
?
static
?
boolean
?isFileExist(String?fileName,?String?dir)?{ ??
-
????????File?files?=?
new
?File(dir?+?fileName); ??
-
????????
return
?(files.exists())???
true
?:?
false
; ??
-
????} ??
-
??
-
????
?
-
?
-
?
-
?
-
??
-
????
public
?
static
?
void
?rename(String?fileName,?String?dir)?{ ??
-
????????String?extendFile?=?
""
; ??
-
????????
if
?(isJpg(fileName)) ??
-
????????????extendFile?=?
".jpg"
; ??
-
????????
else
?
if
?(isGif(fileName)) ??
-
????????????extendFile?=?
".gif"
; ??
-
????????
else
?
if
?(isPng(fileName)) ??
-
????????????extendFile?=?
".png"
; ??
-
????????
else
??
-
????????????extendFile?=?
".jpg"
; ??
-
????????Random?random?=?
new
?Random(); ??
-
????????
int
?add?=?random.nextInt(
10000
); ??
-
????????String?ret?=?fileName?+?add?+?extendFile; ??
-
????????
while
?(isFileExist(ret,?dir))?{ ??
-
????????????add?=?random.nextInt(
10000
); ??
-
????????????ret?=?fileName?+?add?+?extendFile; ??
-
????????} ??
-
????????File?file?=?
new
?File(dir?+?fileName); ??
-
????????File?reFile?=?
new
?File(dir?+?ret); ??
-
????????file.renameTo(reFile); ??
-
????} ??
-
??
-
????
public
?
static
?
boolean
?isGif(String?file)?{ ??
-
????????
if
?(file.toLowerCase().endsWith(
".gif"
))?{ ??
-
????????????
return
?
true
; ??
-
????????}?
else
?{ ??
-
????????????
return
?
false
; ??
-
????????} ??
-
????} ??
-
??
-
????
public
?
static
?
boolean
?isJpg(String?file)?{ ??
-
????????
if
?(file.toLowerCase().endsWith(
".jpg"
))?{ ??
-
????????????
return
?
true
; ??
-
????????}?
else
?{ ??
-
????????????
return
?
false
; ??
-
????????} ??
-
????} ??
-
??
-
????
public
?
static
?
boolean
?isPng(String?file)?{ ??
-
????????
if
?(file.toLowerCase().endsWith(
".png"
))?{ ??
-
????????????
return
?
true
; ??
-
????????}?
else
?{ ??
-
????????????
return
?
false
; ??
-
????????} ??
-
????} ??
-
}?
Struts上傳多個及N個文件的例子