2011-12-16 13 views
6

Kilka razy w ciągu ostatnich kilku miesięcy miałem takie samo zadanie weryfikacji formatu pliku poprzez jego nagłówek: JPEG, PDF, Word i inne popularne pliki.Biblioteki do sprawdzania formatu pliku przez nagłówek

Zastanawiam się, czy istnieje biblioteka dostępna dla C# /. Net do tego? A może nadszedł czas, aby rozpocząć mały projekt dla katalogu NuGet?

Odpowiedz

5

Dla tych, którzy znajdą to pytanie w przyszłości: zacząłem pisać w bibliotece. Kiedy mam już znaczną liczbę różnych typów, przekażę go NuGet. Ale w momencie, gdy kod źródłowy jest dostępny tutaj: http://filetypedetective.codeplex.com/

Idea biblioteki jest, aby móc nazwać isPdf() lub isZip() na FileInfo obiektów:

FileInfo file = new FileInfo("C:\Hello.pdf"); 
if (file.isPdf()) 
    Console.WriteLine("File is PDF"); 

itp

Aktualizacji : w końcu udało się stworzyć pakiet nuget:

Zainstaluj-Pac Kage FileTypeDetective

rozwiązanie
+0

hm przed publikacją możesz spróbować uruchomić StyleCop, aby poprawić styl kodowania. na przykład "catch" (wyjątek) nie jest najlepszą praktyką, również formaty biurowe oparte na formacie xml, które są dostępne przez 8 lat, nie są rozpoznawane, rozszerzenie do FileInfo również nie pasuje bezpośrednio, ponieważ plik jest naprawdę otwarty itp. – user287107

+1

@ user287107 Ten projekt jest od dawna porzucony i nikt go nie używa. Możesz dowolnie modyfikować swoje potrzeby. – trailmax

1

W przypadku większości formatów plików można odczytać magic numbers na początku pliku, aby określić typ pliku. W ten sposób systemy oparte na * nix znają typ pliku niezależnie od rozszerzenia pliku.

+2

to właśnie Szukam i jak wdrożyłem moje rozwiązania. Zastanawiam się, czy to już zrobił ktoś inny. – trailmax

Powiązane problemy