我正在使用 Apache Commons FileUpload 来接收文件上传。以下方法适用于所有测试的应用程序服务器,包括Weblogic 12.1.3,Weblogic 10.3.6除外。
parseRequest
方法返回一个空列表,表明HttpServletRequest
inputstream
为空。只是在寻找如何在Weblogic 10.3.6服务器上运行它?
@POST
@Path("upload/{environment}/{queueName}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
public Message putQueueFile(
@PathParam("environment") String environmentName,
@PathParam("queueName") String queueName,
@Context HttpServletRequest req) {
if (ServletFileUpload.isMultipartContent(req)) {
log.debug("putQueueFile:: Multipart form submission received");
// Create a factory for disk-based file items
DiskFileItemFactory fileItemFactory = createDiskFileItemFactory(req.getSession().getServletContext());
ServletFileUpload uploadHandler = new ServletFileUpload(fileItemFactory);
uploadHandler.setFileSizeMax(MAX_UPLOAD_FILE_SIZE);
try {
/*
* Parse the request
*/
List items = uploadHandler.parseRequest(req);
log.debug(String.format("putQueueFile:: Looping through %d items", items.size()));
答案 0 :(得分:0)
最后得到了它的底部,这是我们用于10.3的web.xml文件的问题。具体来说,我们已通过
启用了针对请求的泽西日志记录<init-param>
<param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
<param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value>
</init-param>
这导致请求被读取,从而导致空输入流。一旦禁用了请求的日志记录,就会解决错误。