尝试保存上传的图像文件时的一般异常

时间:2010-12-29 23:07:15

标签: c# image image-processing c#-4.0

当尝试保存上传的文件时,我收到此错误并且在解决它时遇到一些困难:

ExternalException:GDI +中发生了一般错误。

这是一个非常具体的异常消息!

这是我的代码。

// Gets the original image.
byte[] original = new byte[file.InputStream.Length];
file.InputStream.Position = 0;
file.InputStream.Read(original, 0, (int)file.InputStream.Length);

// Redimensions the original image and saves it for each of the desired pictures classes.
foreach (ClassDetails c in picturesClasses)
{
    byte[] resized = Images.Resize(original, new Size(c.Width, c.Height), c.ResizeToExactProportions);

    MemoryStream stream = new MemoryStream(resized);
    Image resizedImage = Image.FromStream(stream);

    uniqueFilename = string.Format("{0}{1}{2}", Path.GetFileNameWithoutExtension(file.FileName), Guid.NewGuid().ToString(), ".png");

    // The exception happens HERE **************************************************
    resizedImage.Save(Path.Combine(c.Path, uniqueFilename), ImageFormat.Png);
}

请问,有什么可能是错的?感谢。

1 个答案:

答案 0 :(得分:0)

嗯......当问题快速解决时,我喜欢它!

我的路径是相对的。我不得不使用Server.MapPath方法。见下文:

resizedImage.Save(HttpContext.Current.Server.MapPath(Path.Combine(c.Path, uniqueFilename)), ImageFormat.Png);