如何使用Mule通过HTTP上的REST上传多个文件?

如何使用Mule通过HTTP上的REST上传多个文件?,mule,mule-studio,Mule,Mule Studio,我有一个文件夹,上面写着“MyFiles”,里面有很多文件。现在我需要通过RESToverHTTP上传这些文件。将采取什么办法 我尝试了下面的方法,但它是错误的 <flow name="testFlow1" doc:name="testFlow1"> <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP"/>

我有一个文件夹,上面写着“MyFiles”,里面有很多文件。现在我需要通过RESToverHTTP上传这些文件。将采取什么办法

我尝试了下面的方法,但它是错误的

<flow name="testFlow1" doc:name="testFlow1">
        <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP"/>


         <http:rest-service-component 
                                serviceUrl="http://localhost:8280/rest/xyz" 
                                httpMethod="POST"> 
         </http:rest-service-component> 

    <http:endpoint host="localhost" port="5430" encoding="UTF-8" 
                method="POST" connector-ref="fileHttp" path="fileuploader" name="muleFileUploader">
       </http:endpoint>

</flow>

请帮忙。由于输入文件夹将有多个文件,我们如何实现这一点呢


谢谢

您的流没有使用文件入站端点,而是使用通用(非入非出)HTTP端点,因此这是不可能的

下面是成功将文件上载到HTTP端点的配置。如果没有
对象到字节数组转换器
(同一个文件被反复轮询-bug?),我无法使它工作,所以我希望您的文件不是很大

<flow name="fileUploader">
    <file:inbound-endpoint path="/tmp/mule/in"
        pollingFrequency="5000" moveToDirectory="/tmp/mule/done" />
    <object-to-byte-array-transformer />
    <http:outbound-endpoint address="http://..."
        method="POST" exchange-pattern="request-response" />
</flow>

Hi,我收到以下消息:INFO 2013-01-23 16:14:04222[[fdsffsdfd].fileUploader.stage1.02]org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest:未在传出请求中设置内容类型,默认为:text/plain。并且文件未移动到所需的http位置。此外,文件可以是任何类型,如文本、pdf、图像文件、电影文件等。不确定“文件未移动到所需的http位置”的含义:有错误吗?接收端得到什么?请提供更多信息。如果您需要与HTTP POST一起使用确切的mime类型,则必须使用自定义转换器对其进行设置,该转换器分析文件扩展名,并将
内容类型
消息属性设置为所需的值(有一些辅助类可用于扩展名->mime翻译)。