我正在使用以下代码从ASP.NET Core API返回一个文件:
app.MapGroup("file").MapGet("/export", async () =>
{
var fileStream = someCode1();
var fileType= someCode2();
var fileName= someCode3();
return Results.File(
fileStream,
fileType.ToMimeType(),
fileName.Full);
}
- fileStream是磁盘上文件的开放流
- 第二个参数是文件的mime类型字符串
- 第三个参数是文件名
我注意到,我也可以使用Results.Stream()
代替,文件下载仍然正常工作.有谁知道这两种方法的区别是什么,什么时候应该使用?
Results.File
:https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.results.file?view=aspnetcore-8.0.
Results.Stream
:https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.results.stream?view=aspnetcore-8.0.