如何为未知图像扩展设置ContentType?

时间:2016-12-06 07:19:37

标签: c# content-type httpresponsemessage

我有一个服务返回要在UI中显示的图像流。如何为此设置ContentType值,因为我不知道图像类型是什么?它可以是image / jpeg,image / png等。

fileContent.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("inline")
                    {
                        FileName = fileName
                    };
                    fileContent.Content.Headers.ContentType = new MediaTypeHeaderValue(??);

1 个答案:

答案 0 :(得分:0)

解决此问题的一种方法是限制用户可以上传的文件类型。

如果您不想这样做,只需将文件类型添加到image/并将其作为mime-type发送。

例如,

png:image/png gif:image/gif

您还必须在发送时检查图像是否与浏览器的兼容格式。检查这个wiki page

如果不是,则用户正在使用其他一些应用程序来处理图像。因此,您必须使用application/和文件类型。我强烈反对使用它,因为可能只有少数选定类型的图像。

请参阅此内容以获取完整的MIME类型。 (Link

请注意:对于jpg格式,它应为jpeg

另外,正如haim770所提到的,你可以使用System.Web.MimeMapping.GetMimeMapping来返回所有类型的文件,而不仅仅是图像,这将返回所需的mime类型。