2010-05-03 3 views
1

출력을 wmf로 제공하는 이미지 캡처 장치가 있습니다. 이 출력은 데이터베이스에 직접 저장됩니다. 우리는 때때로 이러한 이미지 중 일부가 IE의 웹 페이지에 나타나지 않는 경우가 있습니다. 그러나 페이지를 마우스 오른쪽 버튼으로 클릭하면 이미지를 하드 디스크에 저장할 수 있습니다. 이미지가 페이지에 있지만 표시되지 않는다는 것을 의미합니다. 나는 이것이 파일 손상 문제로 인한 것이라고 생각하지만 해결 방법을 모른다. 우리는 그러나 MS 그림 뷰어 (데스크톱 애플 리케이션)를 사용하여 이러한 파일을 볼 수 있습니다. 어쨌든 문제가되는 파일을 감지 할 수 있습니까?WMF 이미지 데이터 유효성 검사?

+0

. 가능한 해결책을보고 싶습니다. – sshow

답변

0

나는이 이상 단순한 이상되고 있지 않다 희망하지만, 다음 함수는 나를 위해 작동 : 나는 IE와 동일한 문제가 있었다, 그러나이 손상된 파일에 의해 발생 될 수 생각해 본 적이 없는데

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

    }