2013-01-22 79 views
1

我有一個文件夾說「MyFiles」,我有很多文件。現在我需要通過HTTP通過REST上傳這些文件。這將是什麼方法?如何通過HTTP使用Mule上傳多個文件?

我試過以下,但它是錯誤的

<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> 

請幫助。由於輸入文件夾將有多個文件,我們如何實現呢?

感謝

回答

2

您的流量不使用文件的入站端點與使用通用(非在非出)HTTP端點所以沒有辦法這樣可以正常工作。

下面是一個成功將文件上傳到HTTP端點的配置。我不能讓它沒有object-to-byte-array-transformer工作 - ,所以我希望你的文件並不大...

<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> 
+0

嗨,我得到這個(相同文件被調查過一遍又一遍的錯誤?):INFO 2013 -01-23 16:14:04,222 [[fdsffsdfd] .fileUploader.stage1.02] org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest:Content-Type未在傳出請求中設置,默認爲:text/plain。並且該文件不會移動到所需的http位置。此外,該文件可以是任何類型,如文本,pdf,圖像文件,電影文件等。 –

+0

不知道您的意思是「文件未移動到所需的http位置「:任何錯誤?接收端得到什麼?請提供更多信息。如果您需要使用HTTP POST的確切MIME類型,則必須使用自定義轉換器來設置它,以便分析文件擴展名並將「Content-Type」消息屬性設置爲所需的值(有助手類可以用於擴展 - > MIME翻譯)。 –