Как загрузить несколько файлов через REST через HTTP, используя Mule?
У меня есть папка "MyFiles", где у меня много файлов. Теперь мне нужно загрузить этот файл через REST через HTTP . Какой будет подход?
Я попробовал ниже, но это неправильно
<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>
Пожалуйста помоги. Поскольку во входной папке будет несколько файлов, как мы можем этого достичь?
Спасибо
1 ответ
Решение
Ваш поток не использует конечную точку входящего файла и использует общую (не входящую, не выходную) конечную точку 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>