解析多部分响应

问题描述 投票:1回答:2

我有一个Java客户端,它调用一个REST Web服务。 Web服务接受JSON格式的数据并以多部分格式生成数据。我在这里设置的用于调用Web服务的内容类型是'application / json'

现在,在java客户端中,我必须得到响应并分离多部分响应中的多个文件。我使用以下代码来获取响应。

ByteArrayDataSource ds = new ByteArrayDataSource(conn.getInputStream(), "multipart/form-data;boundary=" + boundary); MimeMultipart multipart = new MimeMultipart(ds); System.out.println(multipart.getCount());

执行最后一行时,我得到以下异常

javax.mail.MessagingException: Missing start boundary

我理解当它试图计算响应中的文件时,它不知道从哪里开始和停止。那么,webservice应该设置文件分隔的边界吗?如果是的话,怎么做?如果不是,可以做些什么?

java multipartform-data multipart
2个回答
0
投票

我认为你的边界是错误的右边界以“ - ”开头,然后是哈希。尝试将边界参数更改为

“ - ”+边界

看看是否有帮助。


0
投票

我也遇到了类似的问题,并找到了解决方法:https://stackoverflow.com/a/42548549/5236494

基本上我使用javax mail的MimeMultipart类来解析Multipart响应。

© www.soinside.com 2019 - 2024. All rights reserved.