java-如何从多部分表单数据请求中删除http构件?

我在jersery servlet中有此方法签名.到达servlet,并且表单数据存在于uploadInputStream对象中,但是流中没有除去HTTP工件.见下文.

@POST
@Produces("text/plain")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public String uploadFileIE(
    @FormDataParam("qqfile") InputStream uploadedInputStream ){

}

当保存到文件中时,输入流在字节数据周围具有以下伪像:

-----------------------------7dc1f42e3005a8
Content-Disposition: form-data; name="qqfile";filename="[filename]"
Content-Type: application/octet-stream

[bytes from data stream]
-----------------------------7dc1f42e3005a8--

这些文物现在是否应该已经被清除?有什么简便的方法可以在不重新发明*的情况下将其卸下?

解决方法:

使用Jersey,您需要使用FormDataContentDisposition对象“消费”额外的标题信息.凌乱但有必要:

@POST
@Produces("text/plain")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public String uploadFileIE(
    @FormDataParam("qqfile") InputStream uploadedInputStream,
    @FormDataParam("qqfile") FormDataContentDisposition fileDetail){

}
上一篇:java-从球衣迁移到spring-mvc / rest:ContainerRequestFilter,ContainerResponseFilter


下一篇:java-在Jersey中找不到资源(错误404)