net

怎么使用net core写出文件响应流

小亿
186
2023-09-19 11:54:40
栏目: 编程语言

要使用.NET Core写出文件响应流,您可以按照以下步骤进行操作:

  1. 首先,确保您已经在项目中引用了Microsoft.AspNetCore.Mvc命名空间,以便使用控制器和动作方法。

  2. 创建一个控制器,例如FileController,并添加一个返回文件的动作方法。在动作方法中,您可以使用FileStreamResult类来返回文件响应流。

using Microsoft.AspNetCore.Mvc;
using System.IO;
public class FileController : Controller
{
public IActionResult DownloadFile()
{
string filePath = "path/to/your/file"; // 文件路径
string fileName = "your-file-name.ext"; // 文件名
// 读取文件流
var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
// 返回文件响应流
return File(fileStream, "application/octet-stream", fileName);
}
}
  1. Startup.cs文件中,将FileController添加到路由中,以便可以通过URL访问该动作方法。
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 省略其他代码
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
  1. 现在,您可以通过访问/File/DownloadFile来下载文件。

请注意,上述示例中的文件路径和文件名是示意性的,您需要根据实际情况进行替换。此外,还可以根据需要更改文件的MIME类型。

0
看了该问题的人还看了