httpbuilder-ng multipart / form-data,带有大型应用程序/ zip部件

时间:2017-06-12 14:59:49

标签: multipartform-data httpbuilder-ng

尝试使用httpbuilder-ng apache实现版本0.16.1通过multipart / form-data上传大型zip时,我得到了

  

org.apache.http.ContentTooLongException:内容长度太长:109370       在org.apache.http.entity.mime.MultipartFormEntity.getContent(MultipartFormEntity.java:103)       在groovyx.net.http.ApacheEncoders.multipart(ApacheEncoders.java:74)

这是好的,因为拉链是相当大的,并且没有理由在缓冲区和ByteArray [输入 | 输出]流中摆动它,< strong> 问题是我如何实际将多部分发送到连接的输出流? 我试图自定义编码器,但ToServer只公开一个接受InputStream的方法对我来说真的不起作用

以下是我正在做的事情的片段

configure {
        request.uri = 'https://anypoint.mulesoft.com'
        request.contentType = JSON[0]
        request.encoder(MULTIPART_FORMDATA[0], ApacheEncoders.&multipart)
    }
    .post {
        request.uri.path = '/cloudhub/api/v2/applications'
        request.headers['X-ANYPNT-ENV-ID'] = eid
        request.contentType = MULTIPART_FORMDATA[0]
        request.body = multipart {
            part('appInfoJson', JSON[0], '{"domain":"myDomain"}')
            part('autoStart', 'true')
            part(
                    'file',
                    'myLargeZip.zip',
                    BINARY[0], // or 'application/zip'
                    new File('/parent', 'myLargeZip.zip')
            )
        }
    }

0 个答案:

没有答案