ASP.NET 最小 API 如何 Return/Download 来自 URL 的文件
ASP.NET Minimal API How to Return/Download Files from URL
我正在研究最小 api,我正在尝试的是当用户访问 /download
时它会立即下载名为 add.png
.
的图片
但无论我怎么尝试都行不通,因为我要么得到一个只有 {}
的空白页面
这可能吗?如果是的话如何
这是我迄今为止尝试过的代码。 (我在该位置的所有权限都被拒绝访问!)
app.MapGet("/download", async () =>
{
var path = "add.png";
using (var stream = new FileStream(path, FileMode.Open))
{
stream.CopyToAsync(stream);
}
var ext = Path.GetExtension(path).ToLowerInvariant();
var result = (ext, Path.GetFileName(path));
return result;
});
当用户在我的 api 中执行 /download 他将要下载文件时,我该如何执行此操作?
提前致谢
您可以使用 Results.File
到 return 文件从您的最小 API 处理程序下载:
app.MapGet("/download", () =>
{
var mimeType = "image/png";
var path = @"path_to_png.png";
return Results.File(path, contentType: mimeType);
});
我正在研究最小 api,我正在尝试的是当用户访问 /download
时它会立即下载名为 add.png
.
但无论我怎么尝试都行不通,因为我要么得到一个只有 {}
这可能吗?如果是的话如何
这是我迄今为止尝试过的代码。 (我在该位置的所有权限都被拒绝访问!)
app.MapGet("/download", async () =>
{
var path = "add.png";
using (var stream = new FileStream(path, FileMode.Open))
{
stream.CopyToAsync(stream);
}
var ext = Path.GetExtension(path).ToLowerInvariant();
var result = (ext, Path.GetFileName(path));
return result;
});
当用户在我的 api 中执行 /download 他将要下载文件时,我该如何执行此操作?
提前致谢
您可以使用 Results.File
到 return 文件从您的最小 API 处理程序下载:
app.MapGet("/download", () =>
{
var mimeType = "image/png";
var path = @"path_to_png.png";
return Results.File(path, contentType: mimeType);
});