Heim > Backend-Entwicklung > C++ > Wie kann ich den MIME -Typ einer Datei anhand seiner Signatur in .NET bestimmen?

Wie kann ich den MIME -Typ einer Datei anhand seiner Signatur in .NET bestimmen?

Linda Hamilton
Freigeben: 2025-01-31 14:46:10
Original
884 Leute haben es durchsucht

How Can I Determine a File's MIME Type Using its Signature in .NET?

<.> Verwenden Sie die Dateisignatur im .NET, um den Dateityp der Datei zu bestimmen

In vielen Fällen ist die Art des MIME bei genau identifizierender Dateien sehr wichtig, insbesondere wenn die Dateierweiterung falsch ist oder nicht existiert. .NET bot eine allgemeine Lösung dafür.

In .NET können Entwickler die

-Funktion in der urlmon.dll -Bibliothek verwenden. Diese Funktion verwendet eine Signaturlösung, um den MIME -Typ der Datei zu bestimmen.

FindMimeFromData Um diese Technologie zu erreichen, befolgen Sie bitte die folgenden Schritte:

    Einführung des notwendigen Namensraums:
  1.  using System.Runtime.InteropServices;
    Nach dem Login kopieren
  2. Initialisierungspuffer:
  3.  byte[] buffer = new byte[256];
    Nach dem Login kopieren
  4. Lesen Sie die Dateidaten in den Puffer:
  5.  using (FileStream fs = new FileStream(filename, FileMode.Open))
     {
         if (fs.Length >= 256)
             fs.Read(buffer, 0, 256);
         else
             fs.Read(buffer, 0, (int)fs.Length);
     }
    Nach dem Login kopieren
  6. Aufruf <函> Funktion zum Abrufen des MIME -Typs:
  7. FindMimeFromData

     uint mimetype;
     FindMimeFromData(0, null, buffer, 256, null, 0, out mimetype, 0);
     IntPtr mimeTypePtr = new IntPtr((int)mimetype); // 修正:将mimetype强制转换为int
     string mime = Marshal.PtrToStringUni(mimeTypePtr);
     Marshal.FreeCoTaskMem(mimeTypePtr);
    Nach dem Login kopieren
    Zurück den MIME -Typ als Zeichenfolge.
  8. Durch die Implementierung dieser Lösung können Entwickler den MIME -Typ der Datei basierend auf der Signatur der Datei zuverlässig bestimmen, unabhängig von der Dateierweiterung. Diese Technologie ist in verschiedenen Anwendungen sehr wertvoll, einschließlich Datei -Upload -Verarbeitung und Inhaltszustellung.
Verbesserung Beschreibung:

Im ursprünglichen Code

gibt es potenzielle Probleme, da

der Typ ist und der Konstruktor den Typ new IntPtr(mimetype) akzeptiert. Der geänderte Code konvertiert in mimetype, um die Kompatibilität sicherzustellen. Dies ist besonders wichtig, wenn Sie mit der .NET -Implementierung verschiedener Plattformen umgehen. UInt32

Das obige ist der detaillierte Inhalt vonWie kann ich den MIME -Typ einer Datei anhand seiner Signatur in .NET bestimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage