Home > Software engineering >  ASP.NET Minimal API How to Return/Download Files from URL
ASP.NET Minimal API How to Return/Download Files from URL

Time:01-05

I'm working on minimal api, what I'm trying is when the user visits /download it immediately downloads my picture named add.png.

But no matter what I try it doesn't work because I either get an empty page with only {}

Is this possible? if so how

This is my code that I've tried so far. (I got access denied with all permissions on the location!)

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;
  });

How do I do this for when the user does /download within my api that he is going to download a file?

Thanks in advance

CodePudding user response:

You can use Results.File to return file to download from your mininmal apis handler:

app.MapGet("/download", () =>
{
    var mimeType = "image/png";
    var path = @"path_to_png.png";
    return Results.File(path, contentType: mimeType);
});
  •  Tags:  
  • Related