gpt4 book ai didi

C# Web.API 返回图像。 MemoryStream -> StreamContent 返回损坏的图像

转载 作者:太空狗 更新时间:2023-10-29 21:01:12 26 4
gpt4 key购买 nike

我需要从网络服务返回存储在磁盘上的图像。

在我的 Controller 中,我执行一些搜索操作并发送文件。这是我的代码。

public HttpResponseMessage Get([FromUri]ShowImageRequest req)
{
// .......................
// .......................

// load image file
var imgStream = new MemoryStream();

using (Image image = Image.FromFile(fullImagePath))
{
image.Save(imgStream, ImageFormat.Jpeg);
}

imgStream.Seek(0, SeekOrigin.Begin); // it does not work without this

var res = new HttpResponseMessage(HttpStatusCode.OK);
res.Content = new StreamContent(imgStream);
res.Content.Headers.ContentType = new ediaTypeHeaderValue("image/jpeg");
return res;
}

如果我不添加这一行,我会在 fiddler 响应主体长度 0 中看到

imgStream.Seek(0, SeekOrigin.Begin); 

否则它会起作用。我错过了什么,为什么我需要这样做?

最佳答案

保存后流位置在末尾。这意味着从中读取不会返回任何字节。

每个人都遇到过这个确切的问题:)

关于C# Web.API 返回图像。 MemoryStream -> StreamContent 返回损坏的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38745803/

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