如何使用c#通过ASP.net应用程序将文件附加到FogBugz



我有一个允许用户报告错误和附加文件的ASP.net应用程序。bug连同它的细节和附件应该保存在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。

有谁能帮我一下吗?很多谢谢!

File1应该在multipart/form-data post的正文中指定(而不是作为querystring参数)。

您实际上必须指定文件中的所有字节。

在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的例子。

相关内容

  • 没有找到相关文章

最新更新