我想获取文件类型,但我的文件注意到C#,Asp.net中的扩展名。
我希望通过webClient.DownloadFile
从下载的文件中获取文件类型。
可以跟踪文件吗?
可以理解下载的文件是pdf还是没有?
答案 0 :(得分:0)
没有绝对的方法来获取没有扩展名的文件的文件类型。
某些文件类型(例如EXE)具有您可以检查的标头。其他文件(如文本文件)可能使用某种仅查找文本字符的启发式方法进行检测。但还有其他文件无法识别。
答案 1 :(得分:0)
只要你事先知道扩展名就可以了,否则你必须熟悉文件的结构。如果您所做的只是下载没有.pdf扩展名的pdf,请在下载时重命名您的文件[something] .pdf并且您将能够以常规pdf格式访问它。
答案 2 :(得分:0)
有些链接提出了同样的问题。我希望它有所帮助
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
答案 3 :(得分:0)
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).";