如何使函数从 asp.net core 2.2 上的路径下载文件?

How to make function make download file from path on asp.net core 2.2?

我的项目使用 .net core 2.2 visual studio 2017 Web API

我需要制作函数下载文件

给文件的功能路径将是下载和下载文件和return无效。

我需要让函数在 .net core 2.2 上下载文件,以便在动作控制器中重用它。

public void DownloadOutPut(string path)
{
    try
    {


        if (path != "")
        {


            System.IO.FileInfo file = new System.IO.FileInfo(path);
            if (file.Exists)
            {

                Response.Clear();
                Response.ContentType = "application/octet-stream";
                Response.AppendHeader("Content-Disposition", "attachment;filename = " + file.Name + "");
                Response.TransmitFile(path);


            }

            Response.End();
        }
    }
    catch (Exception ex)
    {

        throw;
    }
}

以上是在 asp.net 网络表单上完成的我需要做类似的功能但是在.net core 2.2

所以请问怎么做?

我假设您正在接收一个映射路径并且该文件位于您的服务器上。

public FileStreamResult DownloadFile(string path)
{
    var filename = System.IO.Path.GetFileName(path);
    var mimeType = "application/octet-stream";
    var stream = System.IO.File.OpenRead(path);

    return new FileStreamResult(stream, mimeType) { FileDownloadName = filename };
}

对于模仿类型,我发现这个 SO 答案很有帮助。