gpt4 book ai didi

c# - 无法从 Azure Blob 流式传输图片

转载 作者:行者123 更新时间:2023-12-03 01:05:11 25 4
gpt4 key购买 nike

我有一个休息端点,我似乎无法从有效的 Azure Blob 中流式传输图片。当我在调试中查看流时,它具有适当的字节大小并且看起来很健康。

以下代码有效(为简洁起见,未显示 Azure 凭据/容器的加载),但在输出返回时失败(请参阅下面的 500)

if (await blockBlob.ExistsAsync())
{
var stream = new MemoryStream();

await blockBlob.DownloadToStreamAsync(stream);

return new FileStreamResult(stream, "image/jpeg");
<小时/>

结果 500(错误:内部服务器错误):

server: Kestrel    
x-sourcefiles: =?UTF-8BQzpcX0NvZGVcUGV0U21hcnRcUG9kc1xQT0RTXGN1c3RvbWVyc1xwaG90b3NcZG93bmxvYWQ=?=
x-powered-by: ASP.NET
date: Fri, 01 Jun 2018 21:21:18 GMT
content-length: 0
<小时/>

端点

[HttpGet]
[Route("/photos/download")]
[SwaggerOperation("Photo Download")]
public async Task<IActionResult> DownloadPhoto([FromQuery]long? photoId)
<小时/>

这个硬编码的返回就像一个魅力

var image = System.IO.File.OpenRead(@"C:\Temp\info.png");
return File(image, "image/jpeg");

我可以在 Azure 存储资源管理器中查看和下载指定的 blob。

最佳答案

您似乎忘记将流位置寻回到 0。

下载流后只需添加stream.Position = 0;即可。

关于c# - 无法从 Azure Blob 流式传输图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50651251/

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