Spring MVC 上传文件报错java.net.SocketException: Broken pipe

LinyangMeng 浙江理工大学 项目经理  2015-12-15 10:22:39
首先 我的windows本地是没问题的 跑到linux服务器上才出的问题
我用的SpringMVC
spring-servlet.xml配置了

<!-- 文件上传相关 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="2147483648" />
</bean>

后台

@RequestMapping(value = "/uploadfile/add")
public String add(HttpServletRequest request, UploadFileModel model,
@RequestParam(value = "myfile") MultipartFile file {
// XXX业务处理


我试过1M 2M左右及以下的上传没问题的
超过就不行了
上面的add方法都进不去
浏览器反应:
卡了40秒左右 之后跳出连接被重置
之后后台报错

Dec 15, 2015 9:06:59 AM org.apache.jk.core.MsgContext action
WARNING: Unable to send headers
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
at org.apache.jk.common.ChannelSocket.send(ChannelSocket.java:532)
at org.apache.jk.common.JkInputStream.appendHead(JkInputStream.java:326)
at org.apache.jk.core.MsgContext.action(MsgContext.java:266)
at org.apache.coyote.Response.action(Response.java:183)
at org.apache.coyote.Response.sendHeaders(Response.java:379)
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:305)
at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:288)
at org.apache.catalina.connector.Response.flushBuffer(Response.java:548)
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:344)
at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:744)

Dec 15, 2015 9:06:59 AM org.apache.jk.common.ChannelSocket processConnection
WARNING: processCallbacks status 2

还有疑问的可以问我
在线等
...全文
574 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wrong1111 2016-06-08
限制的地方比较多,1,NGINX,2,WEB容器 3 ,上传框架。
回复
xuyu_5858 2016-06-07
楼主你的问题解决了没有?需要像你请教,935950699 我的联系QQ
回复
kxj1571463970 2016-04-20
楼主你的问题解决了没
回复
LinyangMeng 2015-12-15
我限制的文件大小 上面写了的 我限制的是2G
回复
LinyangMeng 2015-12-15


回复
LinyangMeng 2015-12-15
引用 3 楼 star_xing1 的回复:
可能是SpringMVC超过限制大小文件上传。SpringMVC的配置文件里面可以配置限制上传文件的大小,比如限制了2M。当你上传大于2M的文件时,则他都不进入到Action,就直接就报错了。
我限制的文件大小 上面写了的 我限制的是2G
回复
star_xing1 2015-12-15
可能是SpringMVC超过限制大小文件上传。SpringMVC的配置文件里面可以配置限制上传文件的大小,比如限制了2M。当你上传大于2M的文件时,则他都不进入到Action,就直接就报错了。
回复
LinyangMeng 2015-12-15
有没有大神来回答下啊
回复
LinyangMeng 2015-12-15
都没得人来么
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-12-15 10:22
社区公告
暂无公告