2010-05-03 18 views
1

Il y a un dispositif de capture d'image qui donne sa sortie en wmf. Cette sortie est stockée dans la base de données directement. Nous avons des cas où parfois certaines de ces images n'apparaissent pas sur une page Web dans IE. Mais si nous faisons un clic droit sur la page, nous sommes en mesure d'enregistrer l'image sur le disque dur; ce qui signifie que l'image existe sur la page, mais n'apparaît pas visible. Je pense que c'est à cause d'un problème de corruption de fichiers, mais je ne sais pas comment le résoudre. Nous sommes cependant en mesure d'afficher ces fichiers en utilisant MS Picture Viewer (application de bureau). Y at-il de toute façon nous pouvons détecter ces fichiers problématiques?Validation des données d'image WMF?

+0

J'ai eu exactement le même problème avec IE, mais jamais pensé qu'il pourrait être causé par des fichiers corrompus. J'aimerais voir quelques solutions possibles ici! – sshow

Répondre

0

J'espère que je ne suis pas trop simpliste sur cela, mais la fonction suivante fonctionne pour moi:

public bool IsValidMetaFile(string filePath) 
    { 
     try 
     { 
      var metaFile = new Metafile(filePath); 

      var metaFileHeader = metaFile.GetMetafileHeader(); 

      return metaFileHeader.IsWmf() || 
        metaFileHeader.IsWmfPlaceable() || 
        metaFileHeader.IsEmf() || 
        metaFileHeader.IsEmfPlusDual() || 
        metaFileHeader.IsEmfPlusOnly() || 
        metaFileHeader.IsEmfOrEmfPlus(); 
     } 
     catch (Exception mesg) 
     { 
      return false; 
     } 

    }