CXF 3.1.6文件上传,附件datahandler输入流为空

时间:2016-09-22 10:58:57

标签: java null cxf inputstream

我正在使用cxf并处理文件上传,我将文件内容作为附件接收。在调试时,我看到文件有效负载存在于附件的dataHandler对象中,但是当我执行inputStream时,内容为null。

代码段:

@POST
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML,
        MediaType.MEDIA_TYPE_WILDCARD })
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Path("/{catalogId}/file")
public CatalogResponse addFile(@Context HttpHeaders headers,
        @PathParam("catalogId") String catalogId, @Multipart(value = "requestFile")Attachment file,
        boolean autoLaunch) {
    CatalogResponse res;
    try {
        InputStream is = file.getDataHandler().getInputStream();
        buffer = new ByteArrayOutputStream();
        int read = 0;
        byte[] data = new byte[1024];

        [enter image description here][1]while ((read = inputStream.read(data, 0, 1024)) != -1) {
                  buffer.write(data, 0, read);
                }
        buffer.flush();
    }catch (Exception ex) {
     //handle the exception
    }

请查看以下数据。我看到输入流标记为' 已关闭'我想是导致这个问题的原因。

0 个答案:

没有答案