【问题标题】:How to convert byte array into it's appropriate file format in ASP.NET MVC如何在 ASP.NET MVC 中将字节数组转换为合适的文件格式
【发布时间】:2010-09-22 09:15:12
【问题描述】:

我有一个系统应该将提供给我的字节数组(不知道它是 pdf、txt 还是 doc)转换为可下载的文件。现在通常在 ASP.NET MVC 中我会这样做。

return File(labTestResult.File, "application/pdf");

这很容易,因为我知道文件类型是什么。既然文件类型可以是任何东西,有没有办法将文件下载为适当的格式?

【问题讨论】:

    标签: c# asp.net-mvc-2 file-format


    【解决方案1】:

    Asp.net MVC 是非常可扩展的,因此如果您需要在响应中发送任何不同的内容,您可以这样做,即您可以编写一个 ActionResult 来提供您的文件而不指定 mime 类型,但确实不推荐这样做。

    使用this question 中的解决方案从第一个字节中获取mime 类型。

    如果您愿意,您还可以定义使用该代码的自定义操作结果,那么您的控制器代码变为:return AutoMimeFile(labTestResult.File);

    【讨论】:

      【解决方案2】:

      我不确定是否有一种非常好的方法可以做到这一点。某些文件格式具有“神奇数字”,您可以查看 Look Here 以获取更多信息。我自己从来没有尝试过,所以我不能保证这样的实现会有多可靠。我想最好的方法是用数据检索文件类型信息。

      【讨论】:

      • 是的,我一直在阅读这个神奇的数字,我想这将是我最后的手段,除非有人能想出一个非常好的解决方案。非常感谢!
      猜你喜欢
      • 2013-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-15
      • 2012-06-19
      • 1970-01-01
      相关资源
      最近更新 更多