在 C# 中,如果你使用 ASP.NET MVC 框架或者 ASP.NET Core 框架,可以通过
FileStreamResult
类来实现文件下载功能。
FileStreamResult
类是
ActionResult
的派生类,可以直接在控制器的返回值中返回,用于将文件以流的形式下载到客户端。
如果你想要指定文件下载时的文件名,可以在创建
FileStreamResult
对象时设置
FileDownloadName
属性。示例代码如下:
public FileStreamResult Download()
string filePath = "文件的绝对路径";
string fileName = "文件下载时显示的名称";
FileStream fs = new FileStream(filePath, FileMode.Open);
return new FileStreamResult(fs, "application/octet-stream")
FileDownloadName = fileName
在上面的示例代码中,FileStreamResult
对象的第一个参数是文件的 FileStream
对象,第二个参数是文件的 MIME 类型, FileDownloadName
属性是要下载的文件名称。
需要注意的是,FileDownloadName
属性应该是浏览器可以正确显示的文件名,一般需要包含文件的扩展名。此外,为了确保文件流能被正确释放,建议将 FileStream
对象作为 FileStreamResult
对象的一个参数传入,并在 FileStreamResult
对象的 ExecuteResult
方法执行完成后,手动调用 FileStream
对象的 Dispose
方法释放文件流。
希望以上信息对您有所帮助。