我的WebAPI需要返回一个Stream。
using (var stream = new MemoryStream())
{
//Fill the Stream
stream.Seek(0, SeekOrigin.Begin);
return new OkObjectResult(stream);
}
以上内容将不起作用,因为在客户获得stream
之前就已将其处置。所以我只是将其更改为:
var stream = new MemoryStream();
//Fill the Stream
stream.Seek(0, SeekOrigin.Begin);
return new OkObjectResult(stream);
我想知道从WebAPI返回流是否安全。我的疑问是,垃圾收集器能否在客户端完成获取/下载内容之前处理stream
。
您可以使用FileStreamResult:它处理您的对象
FileStream s = new FileStream(“ \ Path”,FileMode.Open,FileAccess.Read,FileShare.Read);
return new FileStreamResult(s, file.MimeType);