如何获得没有扩展名文件类型

问题描述:

我想获得文件类型,但我的文件注意到在C#,Asp.net中的扩展名。如何获得没有扩展名文件类型

我想从webClient.DownloadFile下载的文件中获取文件类型。

可以跟踪文件吗?

能理解下载的文件是pdf还是不可以?

+0

请编辑您的问题,所以它更有意义 - 它太难以理解了片刻,我们需要了解它才能回答它。 – 2013-02-21 20:57:02

+0

我不知道你在这里问什么。你能举一个完整的例子,详细说明路径和文件名吗? – Oded 2013-02-21 20:57:24

+0

请清楚您的问题,以便获得所需的帮助。 – 2013-02-21 21:13:17

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形式访问它。