要使用.NET Core寫出文件響應流,您可以按照以下步驟進行操作:
首先,確保您已經在項目中引用了Microsoft.AspNetCore.Mvc
命名空間,以便使用控制器和動作方法。
創建一個控制器,例如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);
}
}
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?}");
});
}
/File/DownloadFile
來下載文件。請注意,上述示例中的文件路徑和文件名是示意性的,您需要根據實際情況進行替換。此外,還可以根據需要更改文件的MIME類型。