编写java代码
publicclass FileUploadActionextendsActionSupport {
privateList<File> upload;//要上传的文件
privateList<String> uploadFileName;//文件名称
privateList<String> uploadContentType;//文件类型
publicString doUpload() throwsIOException{
//指定上传的路径
Stringpath=ServletActionContext.getServletContext().getRealPath("/upload");
File file=new File(path);//实现文件的复制,如果upload文件夹不存在则要创建
if(!file.exists()){//upload文件夹不存在
file.mkdir();//创建文件夹
}
for(inti=0;i<upload.size();i++){//循环需要上传的文件
FileUtils.copyFile(upload.get(i),newFile(file,uploadFileName.get(i)));
}
returnSUCCESS;
}
publicList<File> getUpload() {
returnupload;
}
publicvoidsetUpload(List<File> upload) {
this.upload= upload;
}
publicList<String> getUploadFileName() {
returnuploadFileName;
}
publicvoidsetUploadFileName(List<String> uploadFileName) {
this.uploadFileName =uploadFileName;
}
publicList<String> getUploadContentType() {
returnuploadContentType;
}
publicvoidsetUploadContentType(List<String> uploadContentType) {
this.uploadContentType= uploadContentType;
}
}
配置struts.xml文件:
<package name="default"namespace="/"extends="struts-default">
<action name="upload"method="doUpload"class="com.sram.actions.FileUploadAction">
<result>success.jsp</result>
<!--当文件上传的时候出现了问题的时候调到error.jsp-->
<result name="input">error.jsp</result>
<interceptor-ref name="fileUpload">
<!--设置允许上传的文件类型-->
<param name="allowedTypes">image/png,image/jpeg,image/jpg</param>
<!--上传文件的最大值-->
<param name="maximumSize">2M</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
</package>
本文介绍了一个使用Struts2框架进行文件上传的示例,包括Java代码实现及struts.xml配置。示例展示了如何定义上传路径、处理多个文件上传,并通过拦截器设置上传文件类型和大小限制。
262

被折叠的 条评论
为什么被折叠?



