将大文件(> 2GB)上传到websphere

问题描述 投票:2回答:1

我在websphere 8.5.5上部署了一个Web应用程序,我想上传一个巨大的文件(~3 GB)但我的问题是内容长度是null,以防文件大小超过(2GB),尽管我在tomcat上部署了相同的应用程序,一切都按预期工作。

HttpServletRequest httpRequest = (HttpServletRequest) request;
    ServletFileUpload sfu = new ServletFileUpload(new DiskFileItemFactory());

    sfu.setSizeMax(-1);
    httpRequest.getHeader(FileUploadBase.CONTENT_LENGTH); //This returns null for huge files !
java file java-ee web-applications websphere
1个回答
5
投票

这是WAS 8.5.5的一个小问题,如果内容长度大于2GB,httpRequest.getContentLength()将按预期返回-1,但httpRequest.getHeader(“Content-Length”)将返回null。

通过支持Servlet 3.1解决了这个问题,Servlet 3.1已添加到WebSphere Application Server Liberty概要文件8.5.5.4中,并且也在此处提供的WebSphere Application Sever V9 beta中得到解决:https://developer.ibm.com/wasdev/blog/2015/10/17/websphere-application-server-v9-beta/

在8.5.5中,您可以通过将内容长度设置为查询参数或将其包含在请求的路径信息中来解决此问题。或者,如果您有支持,可以联系IBM服务部门以打开PMR并请求修复。

© www.soinside.com 2019 - 2024. All rights reserved.