【问题标题】:a generic error occurred in GDIGDI 中出现一般错误
【发布时间】:2013-10-22 05:04:17
【问题描述】:
public static string DrawImage(string WorkDirectory, string oldImage, string WaterMarkImage, string waterMarkText, int XCoord, int YCoord, string NewImageName)
        {
            MemoryStream msNew = new MemoryStream();
            MemoryStream msOut = new MemoryStream();

            Bitmap bmp = new Bitmap(WorkDirectory + "\\" + oldImage);
            Bitmap bmpWm = new Bitmap(WorkDirectory + "\\" + WaterMarkImage);
            Bitmap bmpTemp = new Bitmap(bmp);
            Graphics canvas = Graphics.FromImage(bmpTemp);
            bmp.Dispose();
            try
            {
                using (Graphics gr = Graphics.FromImage(bmpTemp))
                {
                    gr.DrawImage(bmpWm, new Rectangle(XCoord, YCoord, bmpWm.Width, bmpWm.Height), 0, 0, bmpWm.Width, bmpWm.Height, GraphicsUnit.Pixel);
                }
            }
            catch(Exception ex)
            {
                string errorMessage = "Error occurred during submission.";
               return errorMessage;
            }
            bmpTemp.Save(WorkDirectory + "\\" + NewImageName, ImageFormat.Png);

            bmpTemp.Dispose();
            return WorkDirectory + "\\" + NewImageName;
        }

您好,此代码在本地服务器上运行良好,当将此代码放在实时服务器上时,我收到错误“GDI+ 中发生一般错误”。 那么如何解决这个错误。

【问题讨论】:

标签: asp.net asp.net-mvc c#-4.0 razor


【解决方案1】:

此错误总是由于缺少权限而出现。它在一种环境而不是另一种环境中工作的事实几乎证实了这就是您的情况的原因。执行 ASP.NET 进程的用户帐户需要对您尝试保存图像的位置具有写入权限。

您授予此权限的帐户取决于您使用的 IIS 版本。对于 IIS 6 和 7,它是网络服务。从 IIS 7.5 开始,它是 IIS APPPOOL\。您应该与管理您的托管服务器的人核实。

【讨论】:

  • 您好,感谢您的回复。我已经更改了服务器中的所有权限。 .但我再次收到错误“访问路径 D:\\...\\images\\image1.png 被拒绝。” .你能给我另一个解决方案吗?
  • 您的错误消息确认权限仍然存在问题。仔细检查路径和用户权限。
猜你喜欢
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-21
相关资源
最近更新 更多