将图像附加到 Visual Studio Team Services 中的工作项(Visual Studio 在线)

Attaching an Image to Work item in Visual Studio Team Services (was Visual Studio Online)

我正在通过 Visual Studio 团队服务 API 发送附件,在我查看工作项目上的附件之前,一切看起来都很好。

附件应该是一张图片,但它是一个带有白色十字的小黑框。

有没有人遇到过这个问题,有人知道我做错了什么吗?

我获取图像并将其转换为 64 Base 字符串

   FileInfo info = new FileInfo(attachment.Path);
   byte[] bytes = File.ReadAllBytes(info.FullName);
   String file = Convert.ToBase64String(bytes);

然后我将它发送到API。这 returns 一条消息说它已经成功。

using (System.Net.Http.HttpClient client = new System.Net.Http.HttpClient())
            {


                client.DefaultRequestHeaders.Authorization =
                             new AuthenticationHeaderValue("Basic",
                             Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(getConnectionDetails())));


                using (System.Net.Http.HttpResponseMessage response = client.PostAsync(SetURL(url),
                    new StringContent(binaryString,Encoding.UTF8,"application/json")).Result)
                {
                    response.EnsureSuccessStatusCode();
                    responseString = await response.Content.ReadAsStringAsync();
                }
            }

我觉得它有点小,我错过了!

这是link给的文档,我用过。

API document

这样试试:

...
string uri = "https://xxxxxx.visualstudio.com/_apis/wit/attachments?fileName=test.jpg&api-version=1.0";
string filepath = "C:\images\test.jpg";
FileStream files = new FileStream(filepath,FileMode.Open);
StreamContent streamcontent = new StreamContent(files);
...
HttpResponseMessage response = hc.PostAsync(uri, streamcontent).Result;
...