2013-08-23 2 views
1

내 앱에 하나의 요구 사항이 있습니다. 디스크에서 파일의 내용을 가져 와서 일부 외부 URL로 보내고 외부 URL이 내용을 가지고 있는지 확인하고 싶습니다.Java를 사용하여 HTTP를 통해 파일 내용 보내기

내 응용 프로그램 사용자는 하나의 문서를 선택하고 뷰어를 말하여 선택한 파일 변환 버전을 표시 할 수 있습니다. 해당 파일의 변환을 위해 선택한 파일을 .Net 응용 프로그램 URL로 보내야합니다.이 URL은 3D 모델링 파일에서 변환하고 브라우저에서 응답을 표시합니다.

다음은 파일을 보내기 위해 사용하고있는 코드입니다.

try{ 
    File f = new File("/home/Desktop/rename.txt"); 
    PostMethod filePost = new PostMethod("external URL"); 
    Part[] parts = { new FilePart("file", f) }; 
    filePost.setRequestEntity(new MultipartRequestEntity(parts, 
    filePost.getParams())); 
    HttpClient client = new HttpClient(); 
    int status = client.executeMethod(filePost); 
    System.out.println(status); 
}catch(Exception e){ 
    e.printStackTrace(); 
} 

답변

1

제대로 이해하면 외부 URL의 서버가 업로드중인 파일을 변환하고 변환 된 버전의 파일을 반환해야합니다. 따라서이 변환 된 버전은 서버의 응답 본문에 포함됩니다. 단순히 상태를 확인하는 것만으로는 충분하지 않지만 응답 자체를 받아야합니다. 디스크 등을 저장 예를 들어, (당신이 입력 스트림 is에서 변환 된 데이터를 읽고 당신이 원하는대로 진행할 수 있습니다 이제

HttpResponse response = client.execute(filePost); 
InputStream is = response.getEntity().getContent(); 

:

당신은 client.execute() 대신과 같이 약 client.executeMethod() 사용하여 해당를 얻을 수 있습니다 .)