gpt4 book ai didi

text - 如何确定 .NET 中文件的内容类型?

转载 作者:行者123 更新时间:2023-12-05 01:24:01 25 4
gpt4 key购买 nike

我得到了一个文件名,我必须能够从磁盘读取它并通过网络发送它的内容。我需要能够确定文件是文本文件还是二进制文件,以便我知道是使用 StreamReader 还是 BinaryReader。我需要知道内容类型的另一个原因是因为如果它是二进制的,我必须在通过网络发送之前对数据进行 MIME 编码。我还希望能够告诉消费者内容类型是什么(如果是文本,则包括编码)。

谢谢!

最佳答案

filename extension提供有关文件内容类型的最佳提示。

它并不完美,但我已经成功地使用了以下内容:

private static string GetContentTypeFromRegistry(string file)
{
RegistryKey contentTypeKey = Registry.ClassesRoot.OpenSubKey(@"MIME\Database\Content Type");

foreach (string keyName in contentTypeKey.GetSubKeyNames())
{
if (System.IO.Path.GetExtension(file).ToLower().CompareTo((string)contentTypeKey.OpenSubKey(keyName).GetValue("Extension")) == 0)
{
return keyName;
}
}

return "unknown";
}

private static string GetFileExtensionFromRegistry(string contentType)
{
RegistryKey contentTypeKey = Registry.ClassesRoot.OpenSubKey(@"MIME\Database\Content Type\" + contentType);

if (contentTypeKey != null)
{
string extension = (string)contentTypeKey.GetValue("Extension");

if (extension != null)
{
return extension;
}
}

return String.Empty;
}

关于text - 如何确定 .NET 中文件的内容类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/537800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com