2013-03-18 16 views
2

사용자가 버그를 신고하고 파일을 첨부 할 수있는 ASP.net 응용 프로그램이 있습니다. 버그 및 세부 사항 및 첨부 파일은 FogBugz에 저장해야합니다. 파일 첨부 부분을 제외한 모든 것을 만들었습니다.C#을 사용하여 ASP.net 응용 프로그램을 통해 FogBugz에 파일을 첨부하는 방법

여기 내 코드입니다 : 나는 "Editing Cases"아래에있는 모든 지시 사항을 시도

private void NewCaseWithFile() 

    { 
     string fbUrl = "https://test.fogbugz.com/api.asp"; 
     string fbToken = logInFogBugz(); 
     string param = ""; 


     param += "cmd=new"; 
     param += "&token=" + fbToken; 


     param += "&sTags=" + "OnlineService,"; 
     param += "&sTitle=" + "Testing"; 

     param += "&sEvent=" + "This case is being created from Visual Studio"; 
     param += "&nFileCount=" + "1"; 
     param += "&File1=" + "Picture.png"; 


     HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(fbUrl + "?" + param); 
     httpWebRequest.Method = WebRequestMethods.Http.Post; 
     httpWebRequest.ContentType = "multipart/form-data"; 

     httpWebRequest.Accept = "application/xml"; 
     httpWebRequest.ContentLength = 0; 

     HttpWebResponse response = (HttpWebResponse)httpWebRequest.GetResponse(); 
     StreamReader streamReader = new StreamReader(response.GetResponseStream()); 
     XDocument doc = XDocument.Load(streamReader); 
    } 

하지만 도움이되지 않았다. 사실 나는 File 1, File 2, FogBugz로 보내는 방법을 모릅니다.

아무도 도와 줄 수 있습니까? 많은 감사!

답변

0

File1은 multipart/form-data 게시물 본문에 지정해야합니다 (쿼리 문자열 매개 변수가 아님).

실제로 파일의 모든 바이트를 지정해야합니다.

에 대한 답변과 모든 부품을 처리 할 C# FogBugz API wrapper에 대한 답변이 있습니다. 게시물 본문에

양식 부분은

--sdfjdsjsdflk SOME BOUNDARY-- 
Content-Disposition: form-data; name="File1"; filename="foo.jpg" 
Content-Transfer-Encoding: base64 
Content-Type: image/png 

slfkajdflksjflajfdj 
sldfjsd;aljfds 
these are actual data bytes from the foo.jpg file 
slfkjdsfljds 
sdflajsdfs 

과 같을 것이다 또는 당신은 예와 this question which points to an RFC 볼 수 있습니다.

+0

링크 및 샘플이 유용하고 유용하지만 게시글이 약간 떨어져있는 것처럼 보입니다. –

+0

진심 어린 의견 시스템 ;-) 링크와 샘플이 유용하고 유용하지만 게시글이 약간 떨어져 보인다. 양식 게시물에 "base64"인코딩이 지정되어 있습니다. 다음 아래에서도 사용해야합니다. 이 경우 데이터는 다음과 같습니다 c2xma2FqZGZsa3NqZmxhamZkag0Kc2xkZmpzZDthbGpmZHMNCnRoZXNlIGFyZSBhY3R1YWwgZGF0YSBieXRlcyBmcm9tIHRoZSBmb28uanBnIGZpbGUNCnNsZmtqZHNmbGpkcw0Kc2RmbGFqc2Rmcw의 == 내가의 Fogbugz는 base64로 플래그를 무시하고 바이너리와 같은 모든 치료에 문제가 발생했다 . 내 나쁜 될 수도 있습니다 ;-) –