Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows通用应用程序扩展的MIME类型_C#_Windows_Mime Types_Windows 8.1_Windows Phone 8.1 - Fatal编程技术网

C# Windows通用应用程序扩展的MIME类型

C# Windows通用应用程序扩展的MIME类型,c#,windows,mime-types,windows-8.1,windows-phone-8.1,C#,Windows,Mime Types,Windows 8.1,Windows Phone 8.1,我正在用c#制作一个Windows通用应用程序。我从我的服务器得到一个MIME类型,我必须保存一个具有该MIME类型所代表的扩展名的文件。如何将此MIME类型转换为适用于Windows Universal Apps的文件扩展名,从而适用于Windows Phone 8.1和Windows 8.1 我不介意: #if Windows_Phone {code} #elif {code} #endif 构造。恐怕没有可用于此的平台API。您需要创建自己的映射。无论在W8还是WP8中,您都无权访问注册

我正在用c#制作一个Windows通用应用程序。我从我的服务器得到一个MIME类型,我必须保存一个具有该MIME类型所代表的扩展名的文件。如何将此MIME类型转换为适用于Windows Universal Apps的文件扩展名,从而适用于Windows Phone 8.1和Windows 8.1

我不介意:

#if Windows_Phone
{code}
#elif
{code}
#endif

构造。

恐怕没有可用于此的平台API。您需要创建自己的映射。

无论在W8还是WP8中,您都无权访问注册表或任何类似的Windows magic。我只知道一个例外:
Windows.Graphics.Imaging.BitmapDecoder.GetDecoderInformationEnumerator()
告诉您有关MIMEType和扩展,但只告诉您本地计算机上安装的图像格式

您可能需要手动创建一个从mimetype映射到extension的字典。
请注意:这是一项永恒的任务。例如,mimetype“audio/x-mpegur”有两个扩展名:.m3u和.m3u8。同时,许多服务器声称.m3u文件的mimetype为“audio/m3u”。因此,如果您不介意这样的构造,您将一次又一次地调整和更新此词典。

谢谢您的评论。然而,这并不能解释将MIME类型转换为文件扩展名的任何原因。是的,我知道,我刚刚添加了#if结构的样子。现在我无法帮助你进行MIME类型转换,也许其他人会这样做。谢谢你的回答,你有什么建议吗?我在谷歌上搜索了一下,找到了使用注册表项的选项,但这在windows phone和windows应用商店应用程序上是不可用的(据我所知)。