项目里有大量用户上传的文章,这些文章里有很多图片,其中一些图片的格式跟后缀名不一致。
别问我为什么,我也不知道网上怎么这么多错乱的图片。。。
这就导致一个问题:这些不正常的图片,有可能在IE浏览器上不能显示!
没办法,我们不能强制用户做什么,只能默默的给他们插屁股。。。。
今天为此写了一个修复图片格式的方法:
public static void AlterImageFormat(string fileName) { if (File.Exists(fileName)) { string fileExt = Path.GetExtension(fileName).ToLower(); ImageFormat format = ImageFormat.Png; switch (fileExt) { case ".png": format = ImageFormat.Png; break; case ".jpg": case ".jpeg": format = ImageFormat.Jpeg; break; case ".bmp": format = ImageFormat.Bmp; break; case ".gif": format = ImageFormat.Gif; break; } var destName = Path.GetDirectoryName(fileName) + "\\" + Path.GetFileNameWithoutExtension(fileName) + "_tmp" + fileExt; File.Move(fileName, destName); var image = Image.FromFile(destName); image.Save(fileName, format); image.Dispose(); File.Delete(destName); } }