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.
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.
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%Tags und Links c#