public void ScaleImage()
{
string path=@"F:\Project\Ismymy\2-编程\Ismymy.Img\Img\avatar\84\184\284\love_max.jpg";
Image serverImage = Image.FromFile(path);
serverImage.GetThumbnailImage(600, 500, new Image.GetThumbnailImageAbort(IsTrue), IntPtr.Zero); // 对原图片进行缩放 
//========================================================
serverImage.Save(path, ImageFormat.Jpeg);//这个地方总是报“GDI+ 中发生一般性错误”
//========================================================
serverImage.Dispose();
}
  public bool IsTrue() // 在Image类别对图片进行缩放的时候,需要一个返回bool类别的委托 
{
      return true;
}

解决方案 »

  1.   

    1. 相应的帐户没有写权限。
    解决方法:赋予 NETWORK SERVICE 帐户以写权限。
    2. 指定的物理路径不存在。
    解决方法:
    在调用 Save 方法之前,先判断目录是否存在,若不存在,则创建。
    if (!Directory.Exists(dirpath))
    Directory.CreateDirectory(dirpath);
    3. 保存的文件已存在并因某种原因被锁定。
    解决方法:
    重启IIS,解除锁定。并在代码中使用 using 语句,确保释放 Image 对象所使用的所有资源。
      

  2.   

    保存的文件已存在并因某种原因被锁定。  
    在代码中使用 using 语句,释放 Image 对象所使用的所有资源。
    权限问题
      

  3.   


                string path = @"F:\Project\Ismymy\2-编程\Ismymy.Img\Img\avatar\84\184\284\love_max.jpg";
                Image _serverImage = Image.FromFile(path);
                Bitmap serverImage = new Bitmap(_serverImage);
                _serverImage.Dispose();
      

  4.   

    //复制一份,把原来的应用关掉string path = @"F:\Project\Ismymy\2-编程\Ismymy.Img\Img\avatar\84\184\284\love_max.jpg";
                Image _serverImage = Image.FromFile(path);
                Bitmap serverImage = new Bitmap(_serverImage);
                _serverImage.Dispose();serverImage.GetThumbnailImage(600, 500, new Image.GetThumbnailImageAbort(IsTrue), IntPtr.Zero); // 对原图片进行缩放 
    //========================================================
    serverImage.Save(path, ImageFormat.Jpeg);//这个地方总是报“GDI+ 中发生一般性错误”
    //========================================================
    serverImage.Dispose();
    }