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

C# 如何为未知图像扩展设置ContentType?,c#,content-type,httpresponsemessage,C#,Content Type,Httpresponsemessage,我有一个服务返回要在UI中显示的图像流。由于我不知道图像类型是什么,如何为此设置ContentType值?它可以是图像/jpeg、图像/png等 fileContent.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("inline") { FileName = fileName

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

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

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

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

例如

png:
image/png
gif:
image/gif

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

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

有关完整的MIME类型,请参阅此。()

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


此外,正如haim770所提到的,对于所有类型的文件,而不仅仅是图像,您可以使用它返回所需的mime类型。

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

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

例如

png:
image/png
gif:
image/gif

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

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

有关完整的MIME类型,请参阅此。()

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


此外,正如haim770所提到的,对于所有类型的文件,而不仅仅是图像,您可以使用它返回所需的mime类型。

您可以使用
System.Web.MimeMapping.GetMimeMapping(fileName)
。请参阅@haim770的可能副本-文件名不可用,因为服务仅返回字节stream@user5663970,可能有点过头了,但是:(还有一个非官方的.Net端口)。您可以使用
System.Web.MimeMapping.GetMimeMapping(文件名)
。请参阅@haim770的可能副本-文件名不可用,因为服务仅返回字节stream@user5663970,可能有点过头了,但是:(还有一个非官方的.Net端口)。可能是