Mulesoft 通过 APIKit 路由器下载 zip 文件

Mulesoft download zip file via APIKit Router

我在使用 APIKit 路由器在 http 端点上显示 save/download zip 文件提示时遇到问题。

我有一个获取 S3 对象并将负载设置为#[message.payload.getObjectContent] 的子流,它可以很好地与直接进入流的 http 侦听器一起工作,但是如果使用 APIKit 路由器浏览器 returns 则没有。

我想这可能与我的 raml 有关。

/GetPackage
  get:
    responses:
      200:
        description: Success
        body:
          200:
            application/zip

我还读了一些关于...

Content-Disposition: attachment;filename=file.zip

一些 help/direction 将不胜感激

谢谢!

想出了解决办法。在 RAML 中只有 application/zip 是不够的。

需要在 Flow 中设置两个属性(使用 属性 组件):

Content-Disposition: attachment;filename=filename.zip
Content-Type: application/zip

我使用的配置XML:

<set-property propertyName="Content-Disposition" value="attachment;filename=filename.zip" doc:name="Content-Disposition"/>
<set-property propertyName="Content-Type" value="application/zip" doc:name="Content-Type"/>