Как прикрепить файлы через приложение ASP.net к FogBugz с C#

У меня есть приложение ASP.net, которое позволяет пользователям сообщать об ошибках и прикреплять файлы. Ошибка вместе с ее деталями и приложениями должна быть сохранена в FogBugz. Мне удалось создать все, кроме части прикрепления файла.

вот мой код:

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);
    }

Я перепробовал все инструкции в разделе " Редактирование дел", но это не помогло. На самом деле я понятия не имею, что такое Файл 1, Файл 2 и как отправить их в FogBugz.

Кто-нибудь может мне с этим помочь? Большое спасибо!

1 ответ

Файл1 должен быть указан в теле вашего сообщения multipart/form-data (не как параметр строки запроса).

Вы фактически должны указать все байты в файле.

Там есть ответ на fogbugz.stackexchange.com, а также обертка C# FogBugz API, которая будет обрабатывать все части за вас.

Части формы в теле вашего поста будут выглядеть так

--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

Или вы можете посмотреть на этот вопрос, который указывает на RFC с примером.

Другие вопросы по тегам