WSO2 EI,如何以流方式或管道方式将文件响应发送给用户?

时间:2019-06-23 10:47:52

标签: wso2 wso2esb wso2ei

我有REST API url方法,该方法将返回文件作为其响应,我需要使用WSO2 EI REST API对其进行包装。

是否可以将基于文件的响应流式传输或传递回请求的用户,而无需存储该文件?

1 个答案:

答案 0 :(得分:0)

您应该能够使用wso2文件连接器[1]将文件作为API序列内的流读取。您可以像doc [2]中那样下载并启用文件连接器。遵循[1]中的“从文件读取内容”部分,您应该可以将 streaming 可选参数设置为true。另外,请遵循 Note 部分为大型文件启用流式传输。

下面显示了示例API序列

<?xml version="1.0" encoding="UTF-8"?>
<api xmlns="http://ws.apache.org/ns/synapse"
     name="fileStream"
     context="/file-stream"
     version="1.0"
     version-type="context">
   <resource methods="GET" url-mapping="/test">
      <inSequence>
    <fileconnector.read>
        <source>{source_location}</source>
        <filePattern>{file_pattern}</filePattern>
        <contentType>{content_type}</contentType>
        <streaming>true</streaming>
    </fileconnector.read>
         <respond/>
      </inSequence>
   </resource>
</api>

[1]-https://docs.wso2.com/display/ESBCONNECTORS/Working+with+the+File+Connector [2]-https://docs.wso2.com/display/ESBCONNECTORS/File+Connector