如何附加zip文件并使用mulesoft使用PUT方法将其上载到REST服务

时间:2018-03-09 20:13:00

标签: mule mule-studio mule-component

下面是我的代码,我使用了一个骡子请求者来读取zip文件,然后我使用了一个附件组件并将值赋予#[payload],内容类型为multipart / x-zip但是有些如何呢不管用。任何人都可以帮助我。

        <mulerequester:request  resource="file://src/test/resources/test/test.jpg?connector=File" 
doc:name="Retrieve File"  config-ref="Mule_Requester"/>
    <set-attachment attachmentName="test" value="#[payload]" contentType="multipart/x-zip" doc:name="Attachment"/>

    <http:request config-ref="HTTP_RequestUpload_Configuration2" path="/dmf/projectname123_n1_1wer?sv=2014-02-14&amp;sr=b&amp;sig=AV2pJHnP4Zf%2Bk5wTX%2FuNnoBKOqyiIZhh8N%2BbsVNzJ18%3D&amp;st=2018-03-09T18%3A56%3A23Z&amp;se=2018-03-09T19%3A11%3A23Z&amp;sp=rw" method="PUT" doc:name="HTTP">
        <http:request-builder>
            <http:header headerName="x-ms-blob-type" value="BlockBlob"/>
            <http:header headerName="x-ms-version" value="2015-02-21"/>
            <http:header headerName="Content-Type" value="application/octet-stream"/>
        </http:request-builder>
    </http:request>
    <flow-ref name="importExecutionIdFlow" doc:name=""/>
</flow>

2 个答案:

答案 0 :(得分:0)

在http-request之前使用Attachment组件,并选择Content Type作为application / zip。 Attachment组件采用的有效负载将生成为zip附件

答案 1 :(得分:-1)

使用groovy脚本转换器重新获取zip文件。

def retrieve_zipFile = payload.retrieve_zipFile;
message.setInvocationProperty("retrieve_zipFile", retrieve_zipFile);

在set_attachment中,您可以使用#[flowVars.retrieve_zipFile]访问该文件,并选择内容类型为multipart / x-zip