Abrufen bestimmter Dateiattribute

8

Ich habe einen einfachen WCF-Dienst, mit dem Clients / Benutzer Bild-, Audio- oder Videodateien hochladen können. Nach dem Upload soll der Dienst die Datei analysieren und irgendwie die folgenden Attribute abrufen:

Bild: Breite, Höhe, Aufnahmedatum, verwendetes Programm

Audio: Laufzeit, Künstler, Album, Genre, Bitrate, Erscheinungsjahr

Video: Laufzeit, Breite, Höhe, Bilder / Sek., Video-Bitrate, Audio-Bitrate

Anscheinend kann Windows diese Attribute ziemlich leicht erhalten und anzeigen, aber wie mache ich das in C #?

    
rafale 04.06.2011, 06:05
quelle

2 Antworten

7

Höflichkeit von diesem Thread.

Ich habe überprüft, dass alle Dateiattribute einschließlich der erweiterten Attribute abgerufen werden.

Gehen Sie in Ihrem Projekt zu 'Referenz hinzufügen' - & gt; COM - & gt; 'Microsoft Shell Controls und Automatisierung'

Fügen Sie, und wieder mit freundlicher Genehmigung des besagten Threads, eine C # -Methode hinzu, um die Attribute der Dateien in einem Verzeichnis zu lesen. (Ich bin noch dabei herauszufinden, ob es möglich ist, diese Funktionalität für eine bestimmte Datei auszuführen. Wenn nicht, könnten Sie den fraglichen Dateinamen immer übergeben und sicherstellen, dass nur die Attribute für diese Datei ausgelesen werden.)

%Vor%     
Khepri 04.06.2011, 06:26
quelle
2

Der einfachste Weg, auf diese Informationen zuzugreifen, besteht darin, die (Explorer-) Shell das für Sie tun zu lassen und einfach danach zu fragen (über Windows-Property-System ) dafür. Der einfachste Weg, dies mit C # zu tun, ist wahrscheinlich die Verwendung des Windows API Code Pack für .NET .

Insbesondere möchten Sie Zugriff auf den Immobilienladen erhalten. Wenn Sie Hilfe benötigen, suchen Sie im Ordner "Samples" im PropertiesEditDemo-Projekt nach.

Sie können es selbst tun, indem Sie alle Metadaten für die Datei lesen, aber das Problem ist dann, dass Ihr Programm alle verfügbaren Metadaten für alle verfügbaren Dateitypen kennen muss. Im Allgemeinen ziehe ich es vor, für dieses Wissen auf der Shell zu bleiben.

    
hemp 04.06.2011 06:29
quelle