项目里有大量用户上传的文章,这些文章里有很多图片,其中一些图片的格式跟后缀名不一致。
别问我为什么,我也不知道网上怎么这么多错乱的图片。。。
这就导致一个问题:这些不正常的图片,有可能在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);
}
}