c# – Bitmap.Save上的ASP.NET错误“异常(0x80004005):GDI中发生了一般错误.”

我有一个函数,它首先从磁盘读取图像,调整大小,然后保存到另一个目录.

当我使用Bitmap.Save(目录theimagename)时,它返回错误,如我在问题标题中所述.

我检查了目录是否正确,并且该目录中不存在给定的图像名称.

奇怪的是,相同的代码在本地机器上运行良好.但是当我将它上传到我的共享主机空间时,它只是不起作用.

代码如下.

bmpOut = new Bitmap(Size,Size);
Graphics g = Graphics.FromImage(bmpOut);
g.InterpolationMode = System.Drawing.drawing2d.InterpolationMode.HighQualityBicubic;
g.FillRectangle(Brushes.White,Size,Size);
int topBottomPadding = 0; int leftRightPadding = 0;
if (Size > lnNewWidth + 1)
    leftRightPadding = Convert.ToInt32((Size - lnNewWidth) / 2);
else if (Size > lnNewHeight + 1)
    topBottomPadding = Convert.ToInt32((Size - lnNewHeight) / 2);
g.DrawImage(loBMP,leftRightPadding,topBottomPadding,lnNewWidth,lnNewHeight);
Bitmap bmp = new Bitmap(bmpOut);
if (bmp != null)
    bmp.Save(ResizedOutput); // C:\Inetpub\vhosts\DomainName\httpdocs\Productimages\500px\gigabyte_ga_ep45_ds4_profilelarge[1].jpg
bmp.dispose();
bmpOut.dispose();
g.dispose();
loBMP.dispose();

堆栈跟踪:

[ExternalException (0x80004005): A generic error occurred in GDI+.]
   System.Drawing.Image.Save(String filename,ImageCodecInfo encoder,EncoderParameters encoderParams) +377630
   System.Drawing.Image.Save(String filename,ImageFormat format) +69
   System.Drawing.Image.Save(String filename) +25
   Utilities.ResizeImage(String fileName,String mode) in c:\inetpub\vhosts\batuhanakcay.com\httpdocs\App_Code\Utilities.cs:181
   Link.ToProductimage(String fileName) in c:\inetpub\vhosts\batuhanakcay.com\httpdocs\App_Code\Link.cs:79
   Product.PopulateControls(ProductDetails pd) in c:\inetpub\vhosts\batuhanakcay.com\httpdocs\Product.aspx.cs:37
   Product.Page_Load(Object sender,EventArgs e) in c:\inetpub\vhosts\batuhanakcay.com\httpdocs\Product.aspx.cs:20

解决方法

ASP Net – GDI+ and SAVE JPG or BMP on the server

99.9% of the time,when using GDI,‘a generic error occured’ means that the
directory you are trying to save to
doesn’t ahve the proper permissions.
Typically,you need to make sure that
directory is allowing asp.net to
modify files.

你检查了权限吗?

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...