单文件上传(关键代码):
表单:
<s:form action="upload" enctype="multipart/form-data" method="post">
<s:file name="upload" label="选择文件"></s:file>
<s:submit value ="提交"></s:submit>
</s:form>
UploadAction:
private File upload;
private String uploadContentType;
private String uploadFileName;
private String savaPath;
private String title;
getter,setter方法。。。
@Overridepublic String execute() throws Exception {
//控制台看输出结果
System.out.println("服务器缓存路径:"+upload);
System.out.println("文件类型:"+uploadContentType);
System.out.println("文件名:"+uploadFileName);
System.out.println("根目录:"+savaPath);
System.out.println("服务器的文件路径:"+this.getSavaPath());
System.out.println("标题:"+title);
byte[] buffer = new byte[1024];
@SuppressWarnings("resource")
FileInputStream fis = new FileInputStream(this.getUpload());
FileOutputStream fos = new FileOutputStream(getSavaPath()+"\\"+this.getUploadFileName());
int length = fis.read(buffer);
while(length>0){
fos.write(buffer,0,length);
length = fis.read(buffer);
}
fos.flush();
fis.close();
fos.close();
return SUCCESS;
}
Struts.xml
<!-- 上传的action -->
<action name="upload" class="com.zhbit.action.UploadAction">
<param name="savaPath">/upload</param>
<result name="success">upload_success.jsp</result>
</action>
upload_success.jsp
您所上传的文件是:<s:property value="uploadFileName"/><br/>文件类型:<s:property value="uploadContentType"/><br/>
图片: <img src="<%=basePath%>/upload/<s:property value='uploadFileName'/>" />