当前位置: 首页 > 知识库问答 >
问题:

如何将“contenttype={image/jpeg}”的响应保存为图像C#?

终彬郁
2023-03-14

我正在使用Microsoft Graph API从Azure Active Directory中获取用户配置文件映像。

参见示例:

我正在使用C#控制台应用程序利用这个API调用。我有以下代码。

var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer","MY ACCESS TOKEN");
var response = await httpClient.GetAsync("https://graph.microsoft.com/v1.0/me/photo/$value");
var test = response.Content.ReadAsStringAsync();

System.IO.File.WriteAllBytes(@"C:\image.bmp", Convert.FromBase64String(test.Result));

所以,我想知道,我可以直接使用来自result属性的数据在本地系统上创建和保存图像吗?

共有1个答案

孔鹤龄
2023-03-14

对于图像,响应的内容是字节流而不是字符串。因此,您只需读取响应流并将其复制到输出流中。例如:

HttpResponseMessage response = await httpClient.GetAsync("https://graph.microsoft.com/v1.0/me/photo/$value");
using (Stream responseStream = await response.Content.ReadAsStreamAsync())
{
    using (FileStream fs = new FileStream(@"c:\image.jpg", FileMode.Create))
    {
        // in dotnet 4.5
        await source.CopyToAsync(fs);
    }
}

如果是,在Dotnet4.0中,请使用source.copyto(fs)而不是它的异步couterpart。

 类似资料:
  • 我试图将字节保存为图像,但似乎不起作用。 以下是我尝试过的: 但我得到一个错误,说它不能写模式RGBA为JPEG,所以我猜这个方法只适用于PNG?如果是这样的话,有没有其他方法来处理jpeg图像?

  • 我有一个画布元素,其中有一个绘图,我想创建一个按钮,当点击它时,它将把图像保存为一个png文件。因此它应该打开“保存、打开、关闭”对话框... 我使用这个代码 但当我在IE9中测试它时,一个新窗口打开了,上面写着“网页无法显示”,其url是: 有人知道怎么解决这个吗?

  • 我正在使用Java压缩一个图像。

  • 我有一个宽度为1900和高度为1000的图像,我使用的是和但我希望div高度与图像更改的高度相同。 示例: 在1366个屏幕中,图像将缩小尺寸以适应屏幕大小(宽度100%),因此,图像高度也将减小,因此我想获得该高度。 我试图做的是: HTML: CSS: 问题:vw是用滚动条宽度计算的,我想要没有,我可以使用宽度%而不是vw吗? 我接受别人的想法来做这件事,但我更喜欢使用CSS。

  • 问题内容: 我有许多JPEG图像,其中包含损坏的XMP XML块。我可以轻松地修复这些块,但是不确定如何将“修复的”数据写回到图像文件中。 我目前正在使用JAVA,但愿意接受任何可以简化此任务的事情。 这是先前提出的有关XMP XML的另一个问题的目标。 问题答案: 在JAVA中,您可以使用Apache Sanselan库: 对于上面概述的解决方案的更详细的示例,在Google Code上有一个开

  • 那么,有没有办法导出所有贴纸或者解密文件呢?