java.io.IOException: Corrupt form data: premature ending
来源:互联网 发布:旅行者一号 知乎 编辑:程序博客网 时间:2024/05/29 07:37
Cos1.3.1+Struts1.2->放在纯jsp里是可以的,但是放在Struts1.2的action中就有问题了,要求解决方案.如果换一中lib,必须处理多个file request,请明示.
<form name="form_attach_add" method="post"
enctype="multipart/form-data"
action="<%=path%>/addNodeAttach.do">
<input name="nodeOid" type="hidden" value="<%=nodeOid%>">
<input name="nodeTitle" type="hidden"
value="<%=nodeTitle%>">
<input name="stat" type="hidden" value="0">
<input name="title" type="hidden" value="">
<input name="type" type="hidden" value="0">
<table width="100%" border="1" cellpadding="5"
cellspacing="0" bordercolor="#999999"
style="border-collapse: collapse" align="center">
<tr bgcolor="FFFFF4">
<td width="30%" height="22">
附件:
</td>
<td width="70%" height="22">
<input type="file" name="attachFile" size="40"
required class="input">
<font color="red">*</font>
</td>
</tr>
<tr bgcolor="#F9EACA">
<td colspan="6" height="22">
<table width="100%" border="0" cellspacing="0"
cellpadding="0">
<tr>
<td align="center">
<input type="Button" value="增 加"
onclick="button_validate(this.form)" class=input />
<input type="reset" name="reset" value="清 空"
class="input">
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
enctype="multipart/form-data"
action="<%=path%>/addNodeAttach.do">
<input name="nodeOid" type="hidden" value="<%=nodeOid%>">
<input name="nodeTitle" type="hidden"
value="<%=nodeTitle%>">
<input name="stat" type="hidden" value="0">
<input name="title" type="hidden" value="">
<input name="type" type="hidden" value="0">
<table width="100%" border="1" cellpadding="5"
cellspacing="0" bordercolor="#999999"
style="border-collapse: collapse" align="center">
<tr bgcolor="FFFFF4">
<td width="30%" height="22">
附件:
</td>
<td width="70%" height="22">
<input type="file" name="attachFile" size="40"
required class="input">
<font color="red">*</font>
</td>
</tr>
<tr bgcolor="#F9EACA">
<td colspan="6" height="22">
<table width="100%" border="0" cellspacing="0"
cellpadding="0">
<tr>
<td align="center">
<input type="Button" value="增 加"
onclick="button_validate(this.form)" class=input />
<input type="reset" name="reset" value="清 空"
class="input">
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
public NodeAttach evaluate() throws FileNotFoundException, IOException ...{
NodeAttach na = new NodeAttach();
int maxPostSize = 3 * 5 * 1024 * 1024;
MultipartRequest mr = new MultipartRequest(ActionContext
.getActionContext().getRequest(), "D:/", maxPostSize, "gb2312");
// 输出反馈信息
Enumeration files = mr.getFileNames();
while (files.hasMoreElements()) ...{
String filePath = (String) files.nextElement();
System.out.println("filePath:" + filePath);
File file = mr.getFile(filePath);
if (file != null) ...{
String fileName = file.getName();
// 创建输入数据流
FileInputStream fis = new FileInputStream(file);
// 创建输出数据流
String newFileName = System.currentTimeMillis() + "."
+ FileU.getFilePostfix(fileName);
FileOutputStream fos = new FileOutputStream(getSaveDir() + "/"
+ newFileName);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = fis.read(buffer, 0, buffer.length)) != -1) ...{
fos.write(buffer, 0, bytesRead);
}
na.setAttachFile(newFileName);
na.setAttachName(fileName);
na.setAttachSize((int) file.length());
na.setAttachType(mr.getContentType(filePath));
}
}
return na;
}
NodeAttach na = new NodeAttach();
int maxPostSize = 3 * 5 * 1024 * 1024;
MultipartRequest mr = new MultipartRequest(ActionContext
.getActionContext().getRequest(), "D:/", maxPostSize, "gb2312");
// 输出反馈信息
Enumeration files = mr.getFileNames();
while (files.hasMoreElements()) ...{
String filePath = (String) files.nextElement();
System.out.println("filePath:" + filePath);
File file = mr.getFile(filePath);
if (file != null) ...{
String fileName = file.getName();
// 创建输入数据流
FileInputStream fis = new FileInputStream(file);
// 创建输出数据流
String newFileName = System.currentTimeMillis() + "."
+ FileU.getFilePostfix(fileName);
FileOutputStream fos = new FileOutputStream(getSaveDir() + "/"
+ newFileName);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = fis.read(buffer, 0, buffer.length)) != -1) ...{
fos.write(buffer, 0, bytesRead);
}
na.setAttachFile(newFileName);
na.setAttachName(fileName);
na.setAttachSize((int) file.length());
na.setAttachType(mr.getContentType(filePath));
}
}
return na;
}
java.io.IOException: Corrupt form data: premature ending
at com.oreilly.servlet.multipart.MultipartParser.(MultipartParser.java:205)
at com.oreilly.servlet.MultipartRequest.(MultipartRequest.java:222)
at com.oreilly.servlet.MultipartRequest.(MultipartRequest.java:173)
at com.chinafi.node_attach.NodeAttachForm.evaluate(NodeAttachForm.java:159)
at com.chinafi.node_attach.AddNodeAttach.addNodeAttach(AddNodeAttach.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.struts.beanaction.ActionInvoker.invoke(ActionInvoker.java:16)
at org.apache.struts.beanaction.DefaultActionInterceptor.intercept(DefaultActionInterceptor.java:5)
at org.apache.struts.beanaction.BeanAction.execute(BeanAction.java:246)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.chinafi.filter.GlobalFilter.doFilter(GlobalFilter.java:25)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
at com.oreilly.servlet.multipart.MultipartParser.(MultipartParser.java:205)
at com.oreilly.servlet.MultipartRequest.(MultipartRequest.java:222)
at com.oreilly.servlet.MultipartRequest.(MultipartRequest.java:173)
at com.chinafi.node_attach.NodeAttachForm.evaluate(NodeAttachForm.java:159)
at com.chinafi.node_attach.AddNodeAttach.addNodeAttach(AddNodeAttach.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.struts.beanaction.ActionInvoker.invoke(ActionInvoker.java:16)
at org.apache.struts.beanaction.DefaultActionInterceptor.intercept(DefaultActionInterceptor.java:5)
at org.apache.struts.beanaction.BeanAction.execute(BeanAction.java:246)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.chinafi.filter.GlobalFilter.doFilter(GlobalFilter.java:25)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
- java.io.IOException: Corrupt form data: premature ending
- java.io.IOException: Corrupt form data: premature ending
- Corrupt form data: premature ending 错误
- hadoop 日志错误 java.io.IOException: Premature EOF from inputStream
- Corrupt JPEG data: premature end of data segment
- 使用WebCollector遇到的异常—java.io.IOException: Premature EOF
- Weka java.io.IOException:premature end of line,read token[EOL],line 3
- 2017年6月14日中午 java.io.IOException: Premature EOF
- hadoop MR 任务 报错 "Error: java.io.IOException: Premature EOF from inputStream at org.apache.hadoop.io"
- java.io.IOException翻译
- ClientAbortException: java.io.IOException
- java.io.IOException
- import java.io.IOException
- ClientAbortException:java.io.IOException
- 3.java.io.IOException
- DataNode: java.io.IOException: Incompatible namespaceIDs in /dfs/dfs/data: namenode namespaceID = 69
- java.io.IOException: Incompatible namespaceIDs in /usr/hadoop/tmp/dfs/data: namenode namespaceID = 6
- Error: java.io.IOException: Can't export data, please check failed map task logs
- MBAC人物剧情翻译——白莲篇
- 总结:FTP错误代码详解
- 一场别开生面的开源opening
- MyEclipse应用
- 特殊的日子
- java.io.IOException: Corrupt form data: premature ending
- 我有个小问题,请大家帮忙解决
- BeanAction
- 周爱民对于程序员的技术发展和职业规划给大家的一些建议
- 字符串指针与字符数组
- 世界近代三大数学难题之一费马定理http://lm2000i.bokee.com/viewdiary.12187540.html
- 专家推荐:学习Linux的九条忠告
- 费马大定理http://baike.baidu.com/view/124599.htm
- Forward Declarations