Überprüfen Sie, ob die Datei eine Mediendatei in C # ist

8

Ich brauche eine Methode, die mir sagen kann, ob eine Datei eine Bild-, Audio- oder Videodatei ist. Kann ich das mit C # machen?

    
Cornel 29.12.2009, 16:19
quelle

4 Antworten

26

Es hängt davon ab, wie robust Sie es wollen.

Am einfachsten testen Sie die Erweiterung wie folgt:

%Vor%

BEARBEITEN : Für diejenigen, die LINQ wirklich wollen, hier ist es:

%Vor%

Beachten Sie, dass die Erweiterung einer Datei kein zuverlässiger Indikator für ihren Inhalt ist. Jeder kann eine Datei umbenennen und ihre Erweiterung ändern.

Wenn Sie die Erweiterung nicht haben oder wenn Sie ihr nicht vertrauen, können Sie den Anfang der Datei lesen und sehen, ob sie mit Dateisignaturen für gängige Medienformate übereinstimmt.

    
SLaks 29.12.2009, 16:24
quelle
8

Methode 1: Am einfachsten - Dateinamensanalyse. Wenn der Dateiname mit einer bekannten Liste von Mediendateitypen übereinstimmt (d. H. Jpg gif wmv avi mp4 usw.), dann stimmt er mit einer Video-, Audio- oder Bilddatei überein. Dies ist nicht so robust, da ich eine Textdatei mit der Erweiterung .avi oder .jpg leicht benennen kann, aber das macht es nicht unbedingt zu einer Mediendatei.

Methode 2: Harder - Pars Dateiheader. Zum Beispiel gibt es bei CodeProject einen C # RIFF-Parser oder diesen CodeProject-Artikel auf Extrahieren von IPTC-Headerinformationen aus JPEG-Bildern

Sie werden schließlich eine Kombination beider Methoden verwenden müssen. Das meiste von dem, was Sie fragen, ist bereits in das .NET-Framework integriert.

    
user195488 29.12.2009 16:24
quelle
2

Ja, Sie können das tun, aber wenn Sie nicht eine Komponente dafür verwenden, müssen Sie Code schreiben, um zumindest die Header dieser Dateien zu laden, um zu überprüfen, ob sie nicht beschädigt sind. Wenn die Dateien auf zuverlässige Weise gespeichert sind, können Sie vielleicht einfach die Dateierweiterung überprüfen

%Vor%     
Andres 29.12.2009 16:24
quelle
0

Sie können immer nach der Dateierweiterung suchen.

    
albertein 29.12.2009 16:23
quelle

Tags und Links