asp.net-mvc - ASP.NET MVC 中的四个文件结果有什么区别

标签 asp.net-mvc file resulttype

ASP.NET 有四种不同类型的文件结果:

  • FileContentResult:将二进制文件的内容发送到响应。
  • FilePathResult:将文件的内容发送到响应
  • FileResult:返回二进制输出以写入响应
  • FileStreamResult:使用 Stream 实例将二进制内容发送到响应

这些描述取自 MSDN,除了 FileStreamResult 之外,前三个听起来相同。那么它们有什么区别呢?

最佳答案

FileResult 是所有其他类的抽象基类。

  • FileContentResult - 当您想要将字节数组作为文件返回时使用它
  • FilePathResult - 当您在磁盘上有一个文件并且想要返回其内容(您给出一个路径)
  • FileStreamResult - 您打开了一个流,您希望将其内容作为文件返回

但是,您很少需要使用这些类 - 您只需使用 Controller.File 重载之一,然后让 ASP.NET MVC 为您施展魔法。

关于asp.net-mvc - ASP.NET MVC 中的四个文件结果有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1187261/

相关文章:

asp.net-mvc - 使用自定义客户端登录页面使用 IdentityServer 登录

git - git add 后文件未显示在 git diff 中。我怎么知道它会被提交?

c++ - 如何将全局变量传递给 C++ 中的函数?

mybatis - 在 MyBatis 中,如何为 SelectProvider 指定结果类型

swift - 在无关紧要的 switch case 中放什么?

c# - ASP.NET MVC 将 ID 传递给 ActionLink

asp.net-mvc - 使用带有 RenderPartial 的 EditorTemplate

Swift:结果的失败类型不能是协议(protocol) - "Type ' 任何 ShadowError' 无法符合错误”

c# - ASP.NET MVC 路由 : Can I have an action name with a slash in it?

c++ - 无法读取二进制文件