如何在泽西岛获取MIME类型的上传文件

2022-09-02 20:16:17

我在泽西岛有一个标准的上传端点:

@POST
@Secure
@Consumes("multipart/form-data")
public Response upload( @Context final HttpHeaders hh,
            @FormDataParam("fileaaa") final FormDataContentDisposition disposition,
            @FormDataParam("fileaaa") final InputStream input,

如何获取上传文件的 MIME 类型?

如果我这样做,我会得到表格的MIME类型;在这种情况下。disposition.getTypeform-data

我知道信息在某个地方;HTTP 消息应如下所示:

-----------------------------7d01ecf406a6
Content-Disposition: form-data; name="input_text"

mytext

-----------------------------7d01ecf406a6
Content-Disposition: form-data; name="fileaaa";
filename="C:\Inetpub\wwwroot\Upload\pic.gif"
Content-Type: image/gif

(binary content)
-----------------------------7d01ecf406a6--

答案 1

我通过让 Jersey 在我的方法中注入 BodyPart 参数来解决这个问题。身体部分的getMediaType()给了我需要的东西:

@POST
@Secure
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response upload(/*other parms */,  @FormDataParam("fileaaa") final FormDataBodyPart body) {
   String mimeType = body.getMediaType().toString();
   //handle upload
}

答案 2

推荐