2015-01-18 4 views
0

REST API를 통해 Twitter에 이미지를 게시해야한다는 요구 사항이 있습니다. 나는 this 문서를 참조하고 요청을 받아들이 기위한 해결책을 찾았다. multipartformdatacontent 개체를 만들고 파일의 바이트 배열로 채 웁니다. 그러나 Post에서 응답은 400 Bad Request으로 수신됩니다. 여기서 문제가 될 수있는 것은 무엇입니까? 저에게 알려주세요.잘못된 요청 : Twitter API 업로드 이미지

System.IO.FileStream fileStream = new System.IO.FileStream("C:\\somelocalpath", 
             System.IO.FileMode.Open, 
             System.IO.FileAccess.Read); 
byte[] bytearray = new Byte[fileStream.Length]; 
fileStream.Close(); 

var multipartContent = new MultipartFormDataContent(); 
var imageContent = new ByteArrayContent(bytearray); 
imageContent.Headers.ContentType = new MediaTypeHeaderValue("multipart/form-data"); 
multipartContent.Add(imageContent, "media"); 

responseTask = await _client.PostAsync("https://upload.twitter.com/1.1/media/upload.json", multipartContent); 

PS : 나는 요청에 대한 모든 권한 PARAMS 부착하고 (GET 요청에 잘 작동, 그래서 여기뿐만 아니라 잘해야합니다)처럼 바이트 배열을 초기화

+0

귀하의'bytearray'는 0 바이트의 숫자를 포함합니다. –

+0

예, 방금 디버깅 한 결과 bytearray의 바이트 수가 0 바이트임을 알 수 있습니다. 그러나 이것이 가능한 방법은 무엇입니까? 파일의 크기는 .jpg이며 트위터에서 허용됩니다. 무엇이 이것을 일으킬 수 있습니까? – Sam

+0

또한이 경우 fileStream.length가 정확하며 이미지의 크기입니다. – Sam

답변

1

아래

byte[] bytearray = File.ReadAllBytes(yout file Name); 

또한 전화를 걸기 전에 콘텐츠 길이를 설정하는 것이 좋습니다.

+0

오, 어떻게 든 입력 파일을 읽지 못했을 것 같습니다. 내 잘못이야. 감사! – Sam