编程语言
首页 > 编程语言> > java-如何从多部分表单数据请求中删除http构件?

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

}

标签:file-upload,jersey,multipartform-data,java
来源: https://codeday.me/bug/20191101/1986260.html