我正在使用Apache FileUpload FileUpload来接收文件上传。除了Weblogic 10.3.6之外,下面的方法对于所有测试的应用服务器都很好,包括WebLogic12.1.3。
parseRequest方法返回一个空列表,该列表指示HttpServletRequest inputstream为空。我只是在寻找如何在WebLogic10.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()));发布于 2014-09-01 06:05:25
最后找到了它的底端,这是我们在10.3中使用的web.xml文件的一个问题。具体来说,我们为请求启用了jersey日志记录。
<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>这导致请求被读取,因此导致空输入流。一旦禁用了请求的日志记录,错误就被解决了。
https://stackoverflow.com/questions/25598409
复制相似问题