GDI + убивает меня этой «общей ошибкой» - PullRequest
3 голосов
/ 23 декабря 2010

Честно говоря, что случилось с GDI +, работающим в ASP.Net?Он работает таким таинственным образом, а описания ошибок довольно загадочны: В GDI + произошла общая ошибка.

О, спасибо вам большое, теперь я точно знаю, что пошло не так ....

Взгляните на код, вызывающий ошибку, и, возможно, вы мне поможете?

var fileStream = fuImage.FileContent;
var imageStream = new MemoryStream();

imageStream.SetLength(fileStream.Length);
fileStream.Read(imageStream.GetBuffer(), 0, (int)fileStream.Length);

imageStream.Flush();
fileStream.Close();

using (var image = System.Drawing.Image.FromStream(imageStream))
{
    using (Bitmap bmp = new Bitmap(image.Width, image.Height))
    {
        using (Graphics gr = Graphics.FromImage(bmp))
        {
            gr.DrawImage(image, 0, 0);
            bmp.Save(path);
        }
    }
}

Это на самом деле упрощенная версия моего кода, но она все равно вызывает ошибку.fuImage - это элемент управления FileUpload (.NET Web Forms).

Если вы получили эту ошибку, убедитесь, что существует полный путь к месту сохранения файла ... или выможет получить это сообщение об «общей ошибке».

1 Ответ

6 голосов
/ 23 декабря 2010

Скопируйте файл в MemoryStream и прочитайте его.
Поток из FileUpload недоступен для поиска, что не нравится GDI +.

...