Общее исключение при попытке сохранить загруженный файл изображения - PullRequest
1 голос
/ 30 декабря 2010

При попытке сохранить загруженный файл я получаю эту ошибку и испытываю некоторые трудности при ее устранении:

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 голосов
/ 30 декабря 2010

Ммм ... Мне нравится, когда проблемы решаются быстро!

Мой путь был относительным. Мне пришлось использовать метод Server.MapPath. Смотрите ниже:

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