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