关闭通道上传大于 10mb 的文件时异常 - 野蝇 10.1



All,

需要您对以下错误的宝贵指导。我正在尝试上传大小大于 10MB 的文件。

服务器:野蝇 10.1.0 最终版 文件上传库 1.3 (Apache 共享资源文件上传(

我尝试了以下方法,但没有成功。 A. 将最大发布大小更改为大数字 300MB b. 还添加到 Web .xml

<multipart-config>
<max-file-size>314572800</max-file-size>   
<max-request-size>314572800</max-request-size>
</multipart-config>

下面的堆栈跟踪

java.nio.channels.ClosedChannelException
[ERROR] 2017-07-27 08:05:06,586 stderr -        at io.undertow.conduits.ChunkedStreamSourceConduit.read(ChunkedStreamSourceConduit.java:181)
[ERROR] 2017-07-27 08:05:06,587 stderr -        at org.xnio.conduits.ConduitStreamSourceChannel.read(ConduitStreamSourceChannel.java:127)
[ERROR] 2017-07-27 08:05:06,587 stderr -        at io.undertow.channels.DetachableStreamSourceChannel.read(DetachableStreamSourceChannel.java:209)
[ERROR] 2017-07-27 08:05:06,588 stderr -        at io.undertow.server.HttpServerExchange$ReadDispatchChannel.read(HttpServerExchange.java:2265)
[ERROR] 2017-07-27 08:05:06,588 stderr -        at org.xnio.channels.Channels.readBlocking(Channels.java:294)
[ERROR] 2017-07-27 08:05:06,589 stderr -        at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:168)
[ERROR] 2017-07-27 08:05:06,589 stderr -        at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:144)
[ERROR] 2017-07-27 08:05:06,590 stderr -        at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:997)
[ERROR] 2017-07-27 08:05:06,590 stderr -        at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:901)
[ERROR] 2017-07-27 08:05:06,591 stderr -        at java.io.InputStream.read(InputStream.java:101)
[ERROR] 2017-07-27 08:05:06,591 stderr -        at org.apache.commons.fileupload.util.Streams.copy(Streams.java:101)
[ERROR] 2017-07-27 08:05:06,592 stderr -        at org.apache.commons.fileupload.util.Streams.copy(Streams.java:70)
[ERROR] 2017-07-27 08:05:06,592 stderr -        at org.apache.commons.fileupload.MultipartStream.readBodyData(MultipartStream.java:589)
[ERROR] 2017-07-27 08:05:06,593 stderr -        at org.apache.commons.fileupload.MultipartStream.discardBodyData(MultipartStream.java:613)
[ERROR] 2017-07-27 08:05:06,594 stderr -        at org.apache.commons.fileupload.MultipartStream.skipPreamble(MultipartStream.java:630)
[ERROR] 2017-07-27 08:05:06,594 stderr -        at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.findNextItem(FileUploadBase.java:1018)
[ERROR] 2017-07-27 08:05:06,595 stderr -        at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:998)
[ERROR] 2017-07-27 08:05:06,595 stderr -        at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:310)
[ERROR] 2017-07-27 08:05:06,596 stderr -        at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:334)
[ERROR] 2017-07-27 08:05:06,596 stderr -        at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:115)
[ERROR] 2017-07-27 08:05:06,597 stderr -        at com.xx.yy.zz.servlet.auth.FileUploader.doPost(FileUploader.java:181)
[ERROR] 2017-07-27 08:05:06,597 stderr -        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
[ERROR] 2017-07-27 08:05:06,598 stderr -        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)

我在Wildfly 10和apache commons-fileupload 1.3上也有类似的问题。但在我的情况下,设置最大帖子大小就足够了。您是否在独立.xml(或域(中为正确的 http 或 https 侦听器在 undertow 配置中设置了 max-post-size?示例如下:

<http-listener max-post-size="304857600" name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
<https-listener  max-post-size="304857600" name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>

默认值为 10MB。您可以在 Wildfly/docs/schema/wildfly-undertow_3_1.xsd 中查看它

最新更新