gpt4 book ai didi

c# - 如何使用 Web API Get 方法返回图像

转载 作者:IT王子 更新时间:2023-10-29 04:21:42 25 4
gpt4 key购买 nike

我需要使用 Web API Get 方法返回图像。下面的代码似乎工作正常,只是我在 Fiddler 的 ImageView 窗口中收到此消息,“此响应已编码,但未声明为图像。”

public HttpResponseMessage Get()
{
using (FileStream fs = new FileStream(filePath, FileMode.Open))
{
HttpResponseMessage response = new HttpResponseMessage();
response.Content = new StreamContent(fs);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
return response;
}
}

我在使用这段代码的 Fiddler 中也看到了相同的结果:

public HttpResponseMessage Get()
{
HttpResponseMessage response = new HttpResponseMessage();
Byte[] b = (GetImageByteArray());
response.Content = new ByteArrayContent(b);
response.Content.LoadIntoBufferAsync(b.Length).Wait();
response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
return response;
}

如果我使用 .png 格式,我会得到相同的结果。

感谢您的帮助,

最佳答案

如果我理解正确,那么你问的是特定于 asp.net core 的问题。在 ASP.net 核心中,HttpResponseMessage 不是我们在 ASP.net web api 2 中使用的返回结果的方法。

在 asp.net core ( WEB API ) 中看起来像这样。

[HttpGet]
public IActionResult Get()
{
Byte[] b = System.IO.File.ReadAllBytes(@"E:\\Test.jpg"); // You can use your own method over here.
return File(b, "image/jpeg");
}

注意:正如您提到的,在 Fiddler Imageview 中您会看到类似这样的消息“他的响应已编码,但并未声称是图像。”因为 ASP.net 核心将 HttpResponseMessage 视为简单类并转换为 json 或 xml。

关于c# - 如何使用 Web API Get 方法返回图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39177576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com