如何使用java从数据中删除标头

如何使用java从数据中删除标头,java,web-services,http,header,jersey,Java,Web Services,Http,Header,Jersey,我正在从数据库中获取数据(图像)。它的页眉如下所示,页脚上写着webkitboundry ------WebKitFormBoundaryv7RHmVQhhWVAEycr Content-Disposition: form-data; name="file"; filename="hey.jpg" Content-Type: image/jpeg 由于页眉和页脚的原因,java中的图像IO无法将其识别为有效图像。我将此信息发送到我的数据库,如下所示: xmlhttp.open("post","

我正在从数据库中获取数据(图像)。它的页眉如下所示,页脚上写着webkitboundry

------WebKitFormBoundaryv7RHmVQhhWVAEycr
Content-Disposition: form-data; name="file"; filename="hey.jpg"
Content-Type: image/jpeg
由于页眉和页脚的原因,java中的图像IO无法将其识别为有效图像。我将此信息发送到我的数据库,如下所示:

xmlhttp.open("post","http://localhost:8080/restService/api/submitinfo",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(formData);

有什么方法可以不带头发送此文件,或者如何删除它?我知道我可能可以用一些for循环来剥离它,但我很好奇可能还有另一种方法。您的专业人员会怎么做?

您的服务器端组件应该在将图像存储到数据库之前处理表单post并提取二进制图像数据


看一看。

找到了一种简单的方法,可以将jersey文档上读取的头文件数据与文件数据分开。上传文件时

public String post(@FormDataParam("file") InputStream uploadedInputStream, @FormDataParam("file") FormDataContentDisposition fileDetail) {
我没有包括FormDataContentDisposition,它将头信息与文件分开。这使我能够正确地使用数据


希望有需要的人能找到它。

使用多部分MIME解码器。图像数据也可能采用base64编码,因此ImageIo也不会读取。简短的回答是,不,这是数据在网络上传输的一般方式。实际上,这是一个很好的答案,因为你的帖子,一切都正常。谢谢。找到了一个更简单的方法。回答如下。