如何在Jersey中获取上传文件的MIME类型
我在泽西岛有一个标准的上传端点:
@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 }
- Struts 2 convention插件 – 上传超过2 MB的文件
- 如何使用selenium或webdriver处理测试自动化中的文件上载
- Spring文件上传未绑定到模型属性对象
- 使用java中的Restlet multipart / form-data上传文件
- 如何使用Commons FileUpload设置用于存储文件上载的文件夹
- 写入服务器时出错
- 为什么我在HttpServletRequest上获得指向ServletFileUpload的NoClassDefFoundError?
- Apache commons fileupload FileItemIterator hasNext()返回false
- 在GAE上使用apache fileupload