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

LinY_X 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

还有疑问的可以问我
在线等
...全文
1031 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wrong1111 2016-06-08
  • 打赏
  • 举报
回复
限制的地方比较多,1,NGINX,2,WEB容器 3 ,上传框架。
xuyu_5858 2016-06-07
  • 打赏
  • 举报
回复
楼主你的问题解决了没有?需要像你请教,935950699 我的联系QQ
kxj1571463970 2016-04-20
  • 打赏
  • 举报
回复
楼主你的问题解决了没
LinY_X 2015-12-15
  • 打赏
  • 举报
回复
我限制的文件大小 上面写了的 我限制的是2G
LinY_X 2015-12-15
  • 打赏
  • 举报
回复


LinY_X 2015-12-15
  • 打赏
  • 举报
回复
引用 3 楼 star_xing1 的回复:
可能是SpringMVC超过限制大小文件上传。SpringMVC的配置文件里面可以配置限制上传文件的大小,比如限制了2M。当你上传大于2M的文件时,则他都不进入到Action,就直接就报错了。
我限制的文件大小 上面写了的 我限制的是2G
star_xing1 2015-12-15
  • 打赏
  • 举报
回复
可能是SpringMVC超过限制大小文件上传。SpringMVC的配置文件里面可以配置限制上传文件的大小,比如限制了2M。当你上传大于2M的文件时,则他都不进入到Action,就直接就报错了。
LinY_X 2015-12-15
  • 打赏
  • 举报
回复
有没有大神来回答下啊
LinY_X 2015-12-15
  • 打赏
  • 举报
回复
都没得人来么

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧