正确使用Response.ContentType

时间:2011-09-26 02:51:16

标签: c# asp.net web-applications

我有一个网站,允许用户上传文件,如pdf,word,excel等。

现在在我的代码中,当我想在浏览器中显示文档时,我正在检查扩展并正确设置ContentType。

然而,这个switch语句听起来并不是最好的解决方案。

我可以根据Stream设置内容类型吗?

1 个答案:

答案 0 :(得分:0)

如果您不想使用switch like语句,请使用Dictionary添加可能的MIME - 条目。

Dictionary<string, string> map=new Dictionary<string, string>
{
  {"txt", "text/plain"},                                                
  {"exe", "application/octet-stream"},
  {"bmp", "image/bmp"}
};

并设置内容类型

Response.ContentType=map[ext];

我找到了一个有趣的stackoverflow线程 - Using .NET, how can you find the mime type of a file based on the file signature not the extension