2010-05-03 35 views
1

有一個圖像採集設備,它的輸出爲wmf。該輸出直接存儲在數據庫中。我們有時候有些圖像不會出現在IE的網頁上。但是,如果我們右鍵單擊頁面,我們可以將圖像保存到硬盤上;這意味着圖像確實存在於頁面上,但不會顯示。我認爲這是由於一些文件腐敗問題,但我不知道如何解決它。但是,我們可以使用MS Picture Viewer(桌面應用程序)查看這些文件。無論如何,我們可以檢測到這些有問題的文件嗎?WMF圖像數據驗證?

+0

我已經與IE瀏覽器完全相同的問題,但從來沒有想過它可能會被損壞的文件引起的。我很想在這裏看到一些可能的解決方案! – sshow 2010-05-03 10:38:34

回答

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

    }