struts2 上传文件不能返回input视图的问题

Kumee 2017-04-04 03:43:31
请问各路大神, 在使用struts2做文件上传时,当文件太大或者文件类型不对时, struts2 不能反悔input视图是怎么回事?

JSP页面程序
	<s:actionerror/>
<s:form action="uploadFile" enctype="multipart/form-data" method="post">
<s:textfield name="name" label="文件名"></s:textfield>
<s:file name="photo" label="图片"></s:file>
<s:submit value="上传"></s:submit>
</s:form>

struts.xml 文件配置
<struts>
<constant name="struts.multipart.maxSize" value="10000000" />
<package name="pk1" extends="struts-default">
<action name="uploadFile" class="com.javaWeb.action.Upload1Action" method="upload">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
<result name="input">/error.jsp</result>
</action>
</package>
</struts>

Upload1Action类
public class Upload1Action extends ActionSupport {
private static final long serialVersionUID = 1L;
private String name;
private File photo; //必须是File类型,名字对应表单的上传输入域
private String photoFileName; //上传文件的文件名。XXXFileName固定写法
private String photoContentType;//上传文件的MIME类型。XXXContentType固定写法

public String upload() throws Exception{
System.out.println(name);
//完成上传
ServletContext sc = ServletActionContext.getServletContext();
String directory = sc.getRealPath("/files");//得到存放文件的真实目录
//构建目标文件
File target = new File(directory, photoFileName);
FileUtils.copyFile(photo, target);
return SUCCESS;
}


public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public File getPhoto() {
return photo;
}
public void setPhoto(File photo) {
this.photo = photo;
}
public String getPhotoFileName() {
return photoFileName;
}
public void setPhotoFileName(String photoFileName) {
this.photoFileName = photoFileName;
}
public String getPhotoContentType() {
return photoContentType;
}
public void setPhotoContentType(String photoContentType) {
this.photoContentType = photoContentType;
}
}


以前是可以返回input视图的,这里做文件上传就不行了,还请大虾们点醒。。
...全文
265 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Coding__man 2018-08-25
  • 打赏
  • 举报
回复
https://blog.csdn.net/Coding__man/article/details/82020509
Coding__man 2018-08-25
  • 打赏
  • 举报
回复
解决方案:修改tomcat的server.xml文件

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" maxSwallowSize="-1"/>

5,655

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧