2013-01-22 3 views
1

나는 많은 파일이있는 "MyFiles"라는 폴더를 가지고있다. 이제 HTTP를 통해 REST를 통해 파일을 업로드해야합니다. 접근 방법은 무엇입니까? Mule을 사용하여 HTTP를 통해 REST를 통해 여러 파일을 업로드하는 방법은 무엇입니까?

나는 다음을 시도하지만 도와주세요

<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 끝점에 성공적으로 업로드하는 구성입니다. INFO : 2013 년 - (? 버그 같은 파일이 또 다시 폴링 및 도착)

<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

안녕하세요, 저는이 무엇입니까 ..., 그래서 파일이 큰없는 희망 나는 그것이 object-to-byte-array-transformer가없이 작동 할 수 없습니다 -01-23 16 : 14 : 04,222 [[fdsffsdfd] .fileUploader.stage1.02] org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest : 발신 요청에 Content-Type이 설정되지 않았습니다. 기본값은 text/plain입니다. 파일은 원하는 http 위치로 이동하지 않습니다. 또한, 파일은 텍스트, pdf, 이미지 파일, 동영상 파일 등 어떤 종류의 파일이 될 수 있습니다. –

+0

"파일이 원하는 http로 이동하지 않음을 의미하는지 확실하지 않습니다 location ": 오류가 있습니까? 수신 측은 무엇을 얻나요? 제발 좀 더 정보. 정확한 MIME 형식을 HTTP POST와 함께 사용해야하는 경우 파일 확장명을 분석하고 'Content-Type' 메시지 속성을 원하는 값으로 설정하는 사용자 지정 변환기를 사용하여 직접 MIME 형식을 설정해야합니다. 확장 -> MIME 번역에 사용할 수있는 도우미 클래스). –