有一个图像捕获设备以wmf输出。此输出直接存储在数据库中。我们的情况有时这些图像中的某些图像不会出现在IE的网页上。但是如果我们右键单击页面,我们就可以将图像保存到硬盘上;意味着图像确实存在于页面上,但看不到。我认为这是因为一些文件损坏问题,但我不知道如何解决它。但是,我们可以使用MS Picture Viewer(桌面应用程序)查看此类文件。无论如何我们可以检测到这些有问题的文件吗?
答案 0 :(得分: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;
}
}