当前位置: 代码迷 >> Java Web开发 >> struts2 servlet3 Part 无法上传文件!该怎么解决
  详细解决方案

struts2 servlet3 Part 无法上传文件!该怎么解决

热度:1107   发布时间:2016-04-10 22:56:57.0
struts2 servlet3 Part 无法上传文件!
在servlet3下  就可以上传文件。

在struts2 中,文件不能上传。只能看到tomcat发出这条信息:INFO: Removing file upload \tmp\upload_73b9e2c7_14416b06a2b__8000_00000000.tmp

package org.crazyit.app.action;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext;
import java.util.Collection;
import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;

@SuppressWarnings("serial")
public class UploadAction extends ActionSupport
{
//private HttpServletRequest httpServletRequest;
 public String execute() throws Exception
{
HttpServletRequest request = ServletActionContext.getRequest();  
//HttpServletResponse response = ServletActionContext.getResponse();
 //request=ActionContext.getContext().get("request");
 Collection<Part> parts = request.getParts();
for(Part part : parts) {
part.write("C:\\"+"samplefile");
}
return SUCCESS;
}

}



<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<%@taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE HTML>
<html>
<head>
<title>简单的文件上传</title>
</head>
<body>
<s:form action="uploadPro" method="post" enctype="multipart/form-data" >

<s:file name="upload" label="选择文件" multiple="multiple"/><br />
<s:submit value="上传"/>
</s:form>
</body>
</html>



<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<constant name="struts.custom.i18n.resources" value="mess"/>
<constant name="struts.action.extension" value="action"></constant>
<constant name="struts.i18n.encoding" value="GBK"/>
<constant name="struts.multipart.saveDir" value="/tmp"></constant>
<package name="lee" extends="struts-default">
<!-- 配置处理文件上传的Action -->
<action name="uploadPro" class="org.crazyit.app.action.UploadAction">

<result name="success">/succ.jsp</result>
 
</action>
<action name="*">
<result>/{1}.jsp</result>
</action>
</package>
</struts>



<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>上传成功</title>
</head>
<body>
上传成功!<br/>


</body>
</html>

------解决方案--------------------
据说在eclipse下会出这个问题,直接在tomcat下运行就正常了。 本人未证实

------解决方案--------------------
你指定了上传路径没。看看你上传到哪里了。 服务器重启会默认删除tomcat下上传的文件。
  相关解决方案