2010-05-03 3 views
1

Существует устройство захвата изображения, которое дает его выход в wmf. Этот вывод хранится в базе данных напрямую. У нас есть случаи, когда иногда некоторые из этих изображений не отображаются на веб-странице в IE. Но если мы щелкнем правой кнопкой мыши на странице, мы сможем сохранить изображение на жестком диске; то есть изображение существует на странице, но не отображается видимым. Я думаю, что это из-за проблемы с повреждением файлов, но я не знаю, как ее разрешить. Однако мы можем просматривать такие файлы, используя MS Picture Viewer (настольное приложение). В любом случае мы можем обнаружить такие проблемные файлы?Проверка данных изображений WMF?

+0

У меня была точно такая же проблема с IE, но никогда не думал, что это может быть вызвано поврежденными файлами. Мне бы хотелось увидеть некоторые возможные решения здесь! – sshow

ответ

0

Я надеюсь, что я не будучи более упрощенным по этому поводу, но следующая функция работает для меня:

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; 
     } 

    }