2011-10-21 9:31:35 org.apache.struts.upload.CommonsMultipartRequestHandler handl
eRequest
严重: Failed to parse multipart request
org.apache.commons.fileupload.FileUploadException: Processing of multipart/form-
data request failed. Stream ended unexpectedly
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadB
ase.java:429)
at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest
(CommonsMultipartRequestHandler.java:193)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:442)
at org.apache.struts.action.RequestProcessor.processPopulate(RequestProc
essor.java:816)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:203)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:119
6)
at actions.MyActionServlet.doPost(MyActionServlet.java:32)
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(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
7)
at java.lang.Thread.run(Unknown Source)
上面是Tomcat控制台报错,我在Struts-config里面设定的大小是1000M的。
上传一个15M的小视频就没有问题的,求高人解答下。
eRequest
严重: Failed to parse multipart request
org.apache.commons.fileupload.FileUploadException: Processing of multipart/form-
data request failed. Stream ended unexpectedly
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadB
ase.java:429)
at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest
(CommonsMultipartRequestHandler.java:193)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:442)
at org.apache.struts.action.RequestProcessor.processPopulate(RequestProc
essor.java:816)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:203)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:119
6)
at actions.MyActionServlet.doPost(MyActionServlet.java:32)
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(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
7)
at java.lang.Thread.run(Unknown Source)
上面是Tomcat控制台报错,我在Struts-config里面设定的大小是1000M的。
上传一个15M的小视频就没有问题的,求高人解答下。
解决方案 »
- 用Httpclient来POST数据,POST不成功
- ssh框架刷新时,表单重复提交
- window.open 问题,请帮忙!急急急
- jsp里用<jsp:useBean怎么servlet中取不到值呢
- 不想让confirm阻止我的ie线程,应该怎么办?有没有替代办法?谢谢
- 救急! myeclipse3.1 + struts1.2 + tomcat5.0 的问题
- JSP是一种技术的名字,软件的名字,还是语言的名字?
- 请问,在Jsp中怎样显示中文问题?
- java a标签下载tomcat中文件,jpg,png等好多都会直接打开
- 关于java web做即时聊天
- xfire 用myeclipse自动生成客户端的问题,急。。。
- java中如何读取outlook中邮件地址
public String upload(VideoForm videoForm){
String fileTime = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());//文件上传时间
String fileName = fileTime + ".wmv"; //文件的物理名称=文件上传时间+格式
String filePath = PathConfig.getInstance().getProperty("videoPath"); //文件的物理存储路径从配置文件中获取
FormFile video = videoForm.getVideoFile(); //获取视频实体
//String fileDBName = photo.getFileName(); //文件的数据库名称
//String fileDBPath = filePath + fileName; //文件的数据库路径
int length = 0; //初始化长度
byte[] buf = new byte[1024]; //初始化流
//照片上传操作
try {
InputStream docStream = video.getInputStream(); //获取输入流
File videoFile = new File(filePath,fileName); //初始化一个photo对象,存储的路径,存储的名称。
FileOutputStream docfos = new FileOutputStream(videoFile); //初始化文件输出流
while((length=docStream.read(buf))!=-1)
{
docfos.write(buf, 0, length);
}
docStream.close();
docfos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return fileName;
}
byte[] buf = new byte[docStream .available()];
Struts-config你怎么配置的啊,struts1设置文件上传大小还没玩过,学习下。
1、在struts-config里面加入一个controller
<struts-config>
<controller maxFileSize="1000M" />
</struts-config>
2、在提交的Form表单里加入 enctype="multipart/form-data"
3、ActionForm里面声明FormFile的字段满足以上三点就可以开动了!
<!-- 设置Struts2默认的最大上传为1G -->
<constant name="struts.multipart.maxSize" value="1073741824"></constant>/*
* 上传文件
*/
public String uploadFile(File upload, String uploadFileName,
String directory) {
String path = "upload"; String filePath = "";
try { HttpServletRequest request = ServletActionContext.getRequest(); String fileName = uploadFileName; // 获取物理路径
String sPath = request.getRealPath(path+File.separator + directory)+File.separator;
// 获取网络地址
filePath = path + "/" + directory
+ "/" + fileName; String outputFileName = sPath + fileName; File outputPathFile = new File(sPath);
if (!outputPathFile.exists()) {
outputPathFile.mkdirs();
} // 保存文件
File outputFile = new File(outputFileName);
java.io.InputStream is = new FileInputStream(upload);
java.io.OutputStream os = new java.io.FileOutputStream(outputFile); if (outputFile.exists())
outputFile.delete(); byte buffer[] = new byte[8192];
int count = 0;
while ((count = is.read(buffer)) > 0) {
os.write(buffer, 0, count);
} os.close();
is.close(); } catch (Exception e) {
e.printStackTrace();
}
return filePath;
}