相关疑难解决方法(0)

Apache Commons文件上传 - Stream意外结束

好吧,我不得不说到目前为止,这个让我难过.我们在Tomcat 6.0.18中运行的Web应用程序在文件上载期间失败,但仅当客户端计算机是Windows计算机时,仅适用于某些计算机,并且适用于所有浏览器,而不仅仅是IE.

日志中有一个堆栈跟踪,这似乎表明客户端关闭了连接,或者流以某种方式被破坏.堆栈跟踪的根本原因如下:

Caused by: org.apache.commons.fileupload.MultipartStream$MalformedStreamException: Stream ended unexpectedly
    at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:983)
    at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:887)
    at java.io.InputStream.read(InputStream.java:85)
    at org.apache.commons.fileupload.util.Streams.copy(Streams.java:94)
    at org.apache.commons.fileupload.util.Streams.copy(Streams.java:64)
    at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:362)
    ... 70 more
Run Code Online (Sandbox Code Playgroud)

导致跟踪的代码看起来相当直接.

private Map<String, Object> getMap( ActionRequest request ) {

    HashMap<String, Object> parameters = new HashMap<String, Object>();
    if ( request == null ) {
        return parameters;
    }

    if ( request.getContentType() == null ) {
        return parameters;
    }

    try {
        if(PortletFileUpload.isMultipartContent(request)){
            DiskFileItemFactory factory = new DiskFileItemFactory();
            PortletFileUpload upload = new PortletFileUpload(factory);
            List<DiskFileItem> fileItems = upload.parseRequest(request);
            for( …
Run Code Online (Sandbox Code Playgroud)

java apache upload file-upload tomcat6

5
推荐指数
0
解决办法
1万
查看次数

标签 统计

apache ×1

file-upload ×1

java ×1

tomcat6 ×1

upload ×1