代码之家  ›  专栏  ›  技术社区  ›  Cristian Vrabie

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

  •  16
  • Cristian Vrabie  · 技术社区  · 15 年前

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

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

    如果我做了 disposition.getType 这使我得到表单的MIME类型;在本例中 form-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 回复  |  直到 10 年前
        1
  •  35
  •   Jacob van Lingen    9 年前

    我让泽西注射了 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
    }