Ich habe eine Tabelle mit einer binären Spalte, die Dateien einer Reihe von verschiedenen möglichen Dateitypen (PDF, BMP, JPEG, WAV, MP3, DOC, MPEG, AVI usw.) speichert, aber keine Spalten, die entweder den Namen oder speichern der Typ der Originaldatei Gibt es eine einfache Möglichkeit für mich, diese Zeilen zu verarbeiten und den Typ jeder in der Binärspalte gespeicherten Datei zu bestimmen? Vorzugsweise würde es ein Dienstprogramm sein, das nur die Dateiköpfe liest, so dass ich nicht jede Datei vollständig extrahieren muss, um ihren Typ zu bestimmen.
Klärung : Ich weiß, dass hier nur der Anfang jeder Datei gelesen wird. Ich suche nach einer guten Quelle (aka Verbindungen), die das für mich ohne zu viel Aufhebens tun können. Danke.
Auch nur C # /. NET unter Windows, bitte . Ich verwende kein Linux und kann Cygwin nicht verwenden (funktioniert unter anderem nicht mit Windows CE).
Sie können diese Tools verwenden, um das Dateiformat zu finden.
Dateianalysator Ссылка
Welches Format? Ссылка
PE-Dateiformatanalysator Ссылка
Diese Website kann für Sie hilfreich sein. Ссылка
Hinweis: Ich habe die Download-Links hinzugefügt, um sicherzustellen, dass Sie den richtigen Tool-Namen und Informationen erhalten.
Bitte überprüfen Sie die Quelle, bevor Sie sie herunterladen.
Ich habe ein Tool in der Vergangenheit verwendet, ich denke, es ist File Analyzer, die Ihnen die beste Übereinstimmung sagen wird.
Happy Tooling.
Dies ist keine vollständige Antwort, aber ein Platz zum Starten wäre eine "magische Zahlen" -Bibliothek. Dabei werden die ersten paar Bytes einer Datei untersucht, um eine "magische Zahl" zu ermitteln, die mit einer bekannten Liste verglichen wird. Dies ist (zumindest teilweise) der Befehl file
auf Linux-Systemen.
Jemand anders hat eine ähnliche Frage gestellt und den Code gepostet, um genau dies zu tun. Sie sollten in der Lage sein, das, was hier gepostet wird, zu nehmen und es leicht so zu modifizieren, dass es aus Ihrer Datenbank zieht.
Zusätzlich dazu sieht es so aus, als ob jemand eine Bibliothek geschrieben hat, die auf magischen Zahlen basiert, aber es sieht so aus, als ob die Seite eine Registrierung erfordert, und eine Art alternativer Zugang, um diese lirbary herunterzuladen. Die Dokumentation ist kostenlos ohne Registrierung verfügbar, das kann hilfreich sein.
Sie müssen einen p / invoke Interop-Code verwenden, um die SHGetFileInfo Methode aus der Win32-API. Dieser Artikel kann ebenfalls hilfreich sein.
Tags und Links .net c# windows file-extension file-type