请问这段代码应该怎么使用啊?为什么我的出错了我的代码如下:private void Button1_Click(object sender, System.EventArgs e)
{
string imageFileName=f_pic.PostedFile.FileName;
MakeThumbnail(imageFileName,Server.MapPath("upimg/small/"),200,160,"Cut");
}/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="originalImagePath">源图路径(物理路径)</param>
/// <param name="thumbnailPath">缩略图路径(物理路径)</param>
/// <param name="width">缩略图宽度</param>
/// <param name="height">缩略图高度</param>
/// <param name="mode">生成缩略图的方式</param>    
public static void MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height, string mode)
{
System.Drawing.Image originalImage = System.Drawing.Image.FromFile(originalImagePath);
    
int towidth = width;
int toheight = height; int x = 0;
int y = 0;
int ow = originalImage.Width;
int oh = originalImage.Height;         switch (mode)
{        
case "HW"://指定高宽缩放(可能变形)                
break;
case "W"://指定宽,高按比例                    
toheight = originalImage.Height * width/originalImage.Width;
break;
case "H"://指定高,宽按比例
towidth = originalImage.Width * height/originalImage.Height;                    
break;        
case "Cut"://指定高宽裁减(不变形)                
if((double)originalImage.Width/(double)originalImage.Height > (double)towidth/(double)toheight)
{
oh = originalImage.Height;
ow = originalImage.Height*towidth/toheight;
y = 0;
x = (originalImage.Width - ow)/2;
}
else
{
ow = originalImage.Width;
oh = originalImage.Width*height/towidth;
x = 0;
y = (originalImage.Height - oh)/2;
}
break;                    
default :
break;
}    
    
//新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth,toheight); //新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap); //设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //清空画布并以透明背景色填充
g.Clear(Color.Transparent);         //在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new Rectangle(0, 0, towidth, toheight), 
new Rectangle(x, y, ow,oh),
GraphicsUnit.Pixel); //以jpg格式保存缩略图
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
originalImage.Dispose();
bitmap.Dispose();                        
g.Dispose();
}错误信息:“/WebApplication1”应用程序中的服务器错误。
--------------------------------------------------------------------------------GDI+ 中发生一般性错误。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Runtime.InteropServices.ExternalException: GDI+ 中发生一般性错误。源错误: 
行 127:
行 128: //以jpg格式保存缩略图
行 129: bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
行 130: originalImage.Dispose();
行 131: bitmap.Dispose();                        
 源文件: e:\wwwroot\webapplication1\webform1.aspx.cs    行: 129 堆栈跟踪: 
[ExternalException (0x80004005): GDI+ 中发生一般性错误。]
   System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
   System.Drawing.Image.Save(String filename, ImageFormat format)
   WebApplication1.WebForm1.MakeThumbnail(String originalImagePath, String thumbnailPath, Int32 width, Int32 height, String mode) in e:\wwwroot\webapplication1\webform1.aspx.cs:129
   WebApplication1.WebForm1.Button1_Click(Object sender, EventArgs e) in e:\wwwroot\webapplication1\webform1.aspx.cs:55
   System.Web.UI.WebControls.Button.OnClick(EventArgs e)
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
   System.Web.UI.Page.ProcessRequestMain() 
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573