2012-06-02 2 views
0

기기에서 YouTube API로 동영상 파일을 업로드하려고합니다. 나는 인증 부분을 가지고 있지만, 그들의 documentation은 (다중 요청 엔터티 코드 사이의) XML 페이로드로 비디오 데이터를 바로 임베드하고, 정확한 방법으로 파일을 읽고 인코딩하는 것이 무엇인지 명확하게 알지 못한다. , 요청에 다시 인쇄하십시오. 내 가정은 그것을 바이트 []로로드해야하고 그것을 인코딩하는 동안 다시 문자열로 침을 뱉어 야하지만 어둠 속에서 시행 착오 게임보다 권위있는 지침을 갖고 싶습니다.YouTube에 보낼 요청에 비디오 파일을 어떻게로드합니까?

TIA는

+0

아니, 문자열로 저장하지 않고하고 싶은 생각합니다. 파일을 파괴 할 수 있습니다. 나는 당신이 빈 데이터 –

+0

@ 콜 존슨과 함께 POST 요청을 사용한다고 가정 할 것이지만 그것은 나의 환경 설정이 될 것이다. 그러나 문서 링크 (직접 업로드 예제에서 약간 아래로 스크롤)를 보면, 나는 그것이 그들이 기대하는 것과 일할 수있게 만들었다. 나는 항상 HTTP의 기능과 아웃, 헤더와 내용의 길이, 그리고 모든 것을 혼동스럽게 혼란스러워했다.이 예제의 번들은 나의 다양한 다양한 혼란을 "정확히 무슨 일이 벌어지고 있는가? ?! " –

+0

이 권한을 읽는 경우 비디오 메타 데이터 만 XML 페이로드에 포함됩니다. 직접 업로드에서> 3 단계 - 비디오 파일을 업로드하면 HTTP 헤더 뒤에 원시 바이트가옵니다. 나는 쉽지는 않다는 말은 아니지만 필요 이상으로 복잡하게 만들지는 마라. HTTP 클라이언트로 무엇을 사용하고 있는지 알고 있습니까? 커먼즈 - httpclient? –

답변

1

난 당신이

InputStreamBody metadata = new InputStreamBody(xmlMetadata, "application/atom+xml; charset=UTF-8"); 
FileBody content = new FileBody(new File("video.mp4"), "application/octet-stream"); 
MultipartEntity reqEntity = new MultipartEntity(); 
reqEntity.addPart("metadata", metadata); 
reqEntity.addPart("content", content); 
post.setEntity(reqEntity); 
client.execute(post); 
+0

나는 그것을 시도 할 것이다. .. 고마워! –

관련 문제