如何从一个多部分表单数据请求中删除HTTP遗物?

3

我有一个在jersey servlet中的方法签名。servlet被访问并且表单数据存在于uploadedInputStream对象中,但是流中没有删除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--

这些文物应该在这个时候被移除了吗?有没有简单的方法可以将它们移除,而不需要重新发明轮子呢?

1个回答

4

使用Jersey时,您需要使用FormDataContentDisposition对象“消耗”额外的标题信息。这很混乱但也是必要的:

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

}

非常感谢。这个问题困扰了我一整天。 - pclem12
我认为这并不简单。它对我没有起作用 :( - CodeSlave

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接