我在泽西岛有一个标准的上传端点:
@POST
@Secure
@Consumes("multipart/form-data")
public Response upload( @Context final HttpHeaders hh,
@FormDataParam("fileaaa") final FormDataContentDisposition disposition,
@FormDataParam("fileaaa") final InputStream input,
如何获取上传文件的MIME类型?
如果执行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--
我通过让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
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句