解析多部分响应

时间:2016-09-01 11:37:11

标签: java multipartform-data multipart

我有一个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应该设置文件分隔的边界吗?如果是的话,怎么做? 如果不是,可以做些什么?

2 个答案:

答案 0 :(得分:0)

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

" - " +边界

看看是否有帮助。

答案 1 :(得分:0)

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

基本上,我正在使用javax邮件的MimeMultipart类来解析Multipart响应。