UploadUtil.java<br>-------------------
|
/**
* 上传文件,名称以日期命名
*
* @author Administrator
*/
public
class
UploadUtil {
/**
* 上传文件
*
* @param src
* 源文件
* @param dst
* 目标文件
* @param BUFFER_SIZE
* 缓冲大小
*/
public
static
void
copy(File src, File dst,
final
int
BUFFER_SIZE) {
try
{
InputStream in =
null
;
OutputStream out =
null
;
try
{
in =
new
BufferedInputStream(
new
FileInputStream(src));
dst = rename(dst);
out =
new
BufferedOutputStream(
new
FileOutputStream(dst));
int
word =
0
;
while
((word = in.read()) != -
1
) {
out.write(word);
}
}
finally
{
if
(
null
!= in) {
in.close();
}
if
(
null
!= out) {
out.close();
}
}
}
catch
(Exception e) {
e.printStackTrace();
}
}
/**
* 得到扩展名
* @param fileName
* @return
*/
public
static
String getExt(String fileName) {
int
pos = fileName.lastIndexOf(
"."
);
return
fileName.substring(pos);
}
/**
* 更改上传文件名
* @param file 文件对象
* @return 更名后的文件对象
*/
public
static
File rename(File file) {
String fileName =
""
;
// 文件名
String extName =
""
;
// 文件扩展名
Calendar cal = Calendar.getInstance();
SimpleDateFormat formatter =
new
SimpleDateFormat(
"yyyyMMddHHmmss"
);
fileName = formatter.format(cal.getTime()) + (
int
) (Math.random() *
10
);
extName = getExt(file.getName());
String newName = fileName +
"."
+ extName;
file =
new
File(file.getParent(), newName);
return
file;
}
}
|
upload.jsp
|
<html>
<body>
<s:form method=
"post"
action=
"jupload"
enctype =
"multipart/form-data"
>
上传图片:<s:file name =
"upload"
theme=
"simple"
/>
<br/>
上传附件:<s:file name =
"upload"
theme=
"simple"
/>
<br/>
<s:submit theme=
"simple"
value=
"提交"
/>
</s:form>
</body>
</html>
|
struts.xml
<!-- 上传文件 cyjch -->
<action name=
"jupload"
method=
"add"
class
=
"upAction"
>
<result name=
"upload"
>upload.jsp</result>
</action>
|