如何获得没有扩展名文件类型
问题描述:
我想获得文件类型,但我的文件注意到在C#,Asp.net中的扩展名。如何获得没有扩展名文件类型
我想从webClient.DownloadFile
下载的文件中获取文件类型。
可以跟踪文件吗?
能理解下载的文件是pdf还是不可以?
答
FileStream fs = new FileStream(@"c:\a.pdf", FileMode.Open, FileAccess.Read);
StreamReader r = new StreamReader(fs);
string pdfText = r.ReadToEnd();
Regex rx1 = new Regex(@"/Type\s*/Page[^s]");
MatchCollection matches = rx1.Matches(pdfText);
MessageBox.Show("The PDF file has " + matches.Count.ToString() + " page(s).";
答
没有绝对的方法来获得没有扩展名的文件的文件类型。
某些文件类型(例如EXE)具有可检查的标题。其他文件,如文本文件,可能可以使用某种仅仅查找文本字符的启发式方法进行检测。但其他文件仍然不可识别。
答
只要事先知道扩展名就可以了,否则你必须熟悉文件的结构。如果您所做的只是下载PDF文件而不使用.pdf扩展名,请在下载文件时重命名文件[something] .pdf,并且您可以以普通PDF形式访问它。
答
有一些链接提出了同样的问题。我希望它能帮助
https://superuser.com/questions/435224/how-do-i-find-out-the-file-type-without-an-extension
http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/16c34850-8799-4a8b-8702-2f59d96e79c1
http://www.troublefixers.com/open-files-without-any-valid-file-extension/
http://bytes.com/topic/c-sharp/answers/812692-open-file-without-knowing-extension
请编辑您的问题,所以它更有意义 - 它太难以理解了片刻,我们需要了解它才能回答它。 – 2013-02-21 20:57:02
我不知道你在这里问什么。你能举一个完整的例子,详细说明路径和文件名吗? – Oded 2013-02-21 20:57:24
请清楚您的问题,以便获得所需的帮助。 – 2013-02-21 21:13:17