如何在 Jersey 中读取上传文件的详细信息

How to read uploaded file details in Jersey

我已经实现了将多个文件上传到 server.But 的 REST 服务,问题是如果我在 REST 中使用 FormDataMultiPart 我无法获取文件详细信息 service.I 可以获取文件content.like 明智的我尝试获取如下文件的详细信息,但它给了我一个错误,说不支持。

    @POST
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public void upload(FormDataMultiPart formParams)
    {
        Map<String, List<FormDataBodyPart>> fieldsByName = formParams.getFields();

       //Assume i am sending only files with the request

        for (List<FormDataBodyPart> fields : fieldsByName.values())
        {
            for (FormDataBodyPart field : fields)
            {

                InputStream is = field.getEntityAs(InputStream.class);
                String fileName = field.getName();
                field.getMediaType();
               //Those work perfectly

    //This gave me an error
  FormDataContentDisposition f=field.getEntityAs(FormDataContentDisposition   .class);
    System.out.println(f.getFileName());

            }
        }
    }

如果使用 FormDataMultiPart.

,请告诉我如何获取每个上传文件的文件详细信息,例如 type,name,size

我终于能够访问文件详细信息,这是代码片段。

@POST
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public void upload(FormDataMultiPart formParams)
    {
        Map<String, List<FormDataBodyPart>> fieldsByName = formParams.getFields();

       //Assume i am sending only files with the request

        for (List<FormDataBodyPart> fields : fieldsByName.values())
        {
            for (FormDataBodyPart field : fields)
            {

                InputStream is = field.getEntityAs(InputStream.class);
                String fileName = field.getName();
                field.getMediaType();


   //This working fine
  FormDataContentDisposition f=field.getFormDataContentDisposition();
  System.out.println(f.getFileName());

            }
        }
    }