我在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){

}

09-25 20:27