Maison > développement back-end > C++ > Comment puis-je déterminer le type de mime d'un fichier en utilisant sa signature dans .NET?

Comment puis-je déterminer le type de mime d'un fichier en utilisant sa signature dans .NET?

Linda Hamilton
Libérer: 2025-01-31 14:46:10
original
884 Les gens l'ont consulté

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

<.> Utilisez la signature de fichier dans le .NET pour déterminer le type de fichier du fichier

Dans de nombreux cas, le type de MIME dans l'identification avec précision des fichiers est très important, en particulier lorsque l'extension de fichier est incorrecte ou n'existe pas. .NET a fourni une solution générale pour cela.

Dans .NET, les développeurs peuvent utiliser la fonction

dans la bibliothèque urlmon.dll. Cette fonction utilise une solution de signature pour déterminer le type MIME du fichier.

FindMimeFromData Pour réaliser cette technologie, veuillez suivre les étapes ci-dessous:

    introduire l'espace de dénomination nécessaire:
  1.  using System.Runtime.InteropServices;
    Copier après la connexion
  2. Tampon d'initialisation:
  3.  byte[] buffer = new byte[256];
    Copier après la connexion
  4. Lisez les données du fichier dans le tampon:
  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);
     }
    Copier après la connexion
  6. Appelez la fonction <函> pour récupérer le type de mime:
  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);
    Copier après la connexion
    Retour le type MIME en tant que chaîne.
  8. En implémentant cette solution, les développeurs peuvent déterminer de manière fiable le type MIME du fichier en fonction de la signature du fichier, quelle que soit l'extension du fichier. Cette technologie est très précieuse dans diverses applications, y compris le traitement de téléchargement de fichiers et la livraison de contenu.
Description d'amélioration:

Dans le code d'origine

il y a des problèmes potentiels, car

est le type , et le constructeur accepte le type new IntPtr(mimetype). Le code modifié convertit en mimetype pour assurer la compatibilité. Ceci est particulièrement important lorsque l'on traite de la mise en œuvre .NET de différentes plateformes. UInt32

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal