Jfinal上传失败

Mrzeng 发布于 2013/05/20 19:50
阅读 3K+
收藏 1

@Jfinal,为什么第一次上传可以成功,但第二次第三次就上传却成功不了,一直报错。form 有设置enctype="multipart/form-data" 的


2013-05-20 19:46:49

[ERROR]-[Thread: http-bio-8080-exec-6]-[com.jfinal.core.ActionHandler.handle()]: /upload/
java.lang.RuntimeException: java.io.IOException: Posted content type isn't multipart/form-data
at com.jfinal.upload.MultipartRequest.wrapMultipartRequest(MultipartRequest.java:121)
at com.jfinal.upload.MultipartRequest.<init>(MultipartRequest.java:69)
at com.jfinal.core.Controller.getFiles(Controller.java:626)
at com.jfinal.core.Controller.getFile(Controller.java:633)
at com.easej.test.controller.TestController.upload(TestController.java:24)
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 com.jfinal.core.ActionInvocation.invoke(ActionInvocation.java:55)
at com.jfinal.core.ActionHandler.handle(ActionHandler.java:73)
at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Posted content type isn't multipart/form-data
at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:168)
at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:223)
at com.jfinal.upload.MultipartRequest.wrapMultipartRequest(MultipartRequest.java:105)
... 27 more
加载中
0
Mrzeng
Mrzeng

引用来自“JFinal”的答案

引用来自“Mrzeng”的答案

引用来自“JFinal”的答案

是否用的 tomcat? 小心 tomcat 将请求做了 302 重定向
是啊,我是用tomcat的。
在表单中的 action 值后成添加一个斜杠,如:  action="./upload/",防止 tocmat 无故 302

谢波总,解决了,就是这个问题。弄了一个下午连一个晚上,感激感恩! 

0
JFinal
JFinal
method注意设置成POST
0
Mrzeng
Mrzeng

引用来自“JFinal”的答案

method注意设置成POST

这个有设置了。

@Jfinal

<form action="./upload" enctype="multipart/form-data" method="post" name="hello">
<input type="file" name="upfile" value="upload"/>
<input type="submit" value="uploadsubmit"/>
</form>

public void index(){

}


public void upload(){
UploadFile file = getFile();
if(null!=file){
setAttr("upfile", file.getFileName()+";"+file.getFileName()+";"+file.getSaveDirectory());
}else {
setAttr("upfile", "none file!");
}

}

0
JFinal
JFinal
是否用的 tomcat? 小心 tomcat 将请求做了 302 重定向
0
Mrzeng
Mrzeng

引用来自“JFinal”的答案

是否用的 tomcat? 小心 tomcat 将请求做了 302 重定向
是啊,我是用tomcat的。
0
JFinal
JFinal

引用来自“Mrzeng”的答案

引用来自“JFinal”的答案

是否用的 tomcat? 小心 tomcat 将请求做了 302 重定向
是啊,我是用tomcat的。
在表单中的 action 值后成添加一个斜杠,如:  action="./upload/",防止 tocmat 无故 302
0
JFinal
JFinal

引用来自“Mrzeng”的答案

引用来自“JFinal”的答案

引用来自“Mrzeng”的答案

引用来自“JFinal”的答案

是否用的 tomcat? 小心 tomcat 将请求做了 302 重定向
是啊,我是用tomcat的。
在表单中的 action 值后成添加一个斜杠,如:  action="./upload/",防止 tocmat 无故 302

谢波总,解决了,就是这个问题。弄了一个下午连一个晚上,感激感恩! 

谢谢你的支持才对,tomcat 造成的这样恶心的问题,你能坚持解决掉非常不错了。tomcat 有些行为很怪异,具体看这里:  http://www.oschina.net/question/941098_93842
返回顶部
顶部