2011-12-16 10 views
6

Alcune volte negli ultimi due mesi ho avuto lo stesso compito di verificare il formato del file tramite l'intestazione: JPEG, PDF, Word e altri file popolari.Librerie per verificare il formato del file tramite intestazione

Mi chiedo se esiste una libreria disponibile per C# /. Net per farlo? Oppure è il momento di iniziare un piccolo progetto per il catalogo NuGet?

risposta

5

Per coloro che troveranno questa domanda in futuro: ho iniziato a scrivere la biblioteca. Una volta che ho una quantità significativa di diversi tipi, lo invierò a NuGet. Ma al momento il codice sorgente è disponibile qui: http://filetypedetective.codeplex.com/

L'idea della biblioteca è quello di essere in grado di chiamare isPdf() o isZip() su FileInfo oggetti:

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

ecc

Aggiornamento : alla fine sono riuscito a creare il pacchetto nuget:

Installazione-Pac kage FileTypeDetective

soluzione
+0

hm prima della pubblicazione, puoi provare a eseguire StyleCop o così per migliorare lo stile di codifica. ad esempio "catch (Exception" non è una buona pratica, anche i formati di office basati su xml che sono disponibili per 8 anni non sono riconosciuti. Anche l'estensione a FileInfo non si adatta direttamente, poiché il file è veramente aperto ecc. – user287107

+1

@ user287107 Quel progetto è da tempo abbandonato e nessuno lo usa. Sentiti libero di modificare per le tue esigenze. – trailmax

1

Per la maggior parte dei formati di file, è possibile leggere magic numbers all'inizio del file per determinare il tipo di file. In questo modo i sistemi basati su * nix conoscono il tipo di file indipendentemente dall'estensione del file.

+2

che è esattamente quello Sto cercando e come ho implementato le mie soluzioni. Mi chiedo se sia già stato fatto da qualcun altro. – trailmax

Problemi correlati