none
в gdi+ возникла ошибка общего вида при сохранении RRS feed

  • Вопрос

  • Добрый день!

    byte[] byteArray = abonA.ImageGet();//возвращает массив байт из БД
    avams = new MemoryStream(byteArray);
    System.Drawing.Image avatar = System.Drawing.Image.FromStream(avams);
    avatar.Save(Global.imgpath + "\\avatar\\ava.png", System.Drawing.Imaging.ImageFormat.Png);
    

    На последней строчке вылетает ошибка "в gdi+ возникла ошибка общего вида".

    Помогите разобраться! Уже пол интернета перерыл, но ошибку не исправил =(

    Заранее благодарен!

    20 июля 2011 г. 9:54

Ответы

  • Это взрыв мозга! Как оказалось, в конфиге был прописан старый путь к папке и, как результат, Save делался в несуществующую папку и это вызывало ошибку. Но черт возьми, почему "в gdi+ возникла ошибка общего вида"!!?? Какого еще общего вида? Вполне себе конкретного вида =(
    • Помечено в качестве ответа Odrin 20 июля 2011 г. 10:41
    20 июля 2011 г. 10:41

Все ответы

  • Попробуйте так, из приложения. В БД храню в varbinary(max) файлы-изображения

    //@namefile - название файла

    Byte[] blob = null;

    FileStream fs = null;

    Form1.connectionMain.Open();

    try {

    SqlCommand cmd = new SqlCommand("SELECT image FROM t_tableImages WHERE id =" + id, Form1.connectionMain);

    SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess);

    sdr.Read();

    blob = new Byte[(sdr.GetBytes(0, 0, null, 0, int.MaxValue))];

    sdr.GetBytes(0, 0, blob, 0, blob.Length);

    sdr.Close(); Form1.connectionMain.Close();

    fs = new FileStream(@nameFile, FileMode.Create, FileAccess.Write);

    fs.Write(blob, 0, blob.Length);

    fs.Close();

    }


    20 июля 2011 г. 10:12
  • Все хорошо, но в базе файл может лежать любого формата, а в вашем примере надо знать расширение, чтоб в filename указать. Или я что- то неправильно понял?
    20 июля 2011 г. 10:22
  • Это взрыв мозга! Как оказалось, в конфиге был прописан старый путь к папке и, как результат, Save делался в несуществующую папку и это вызывало ошибку. Но черт возьми, почему "в gdi+ возникла ошибка общего вида"!!?? Какого еще общего вида? Вполне себе конкретного вида =(
    • Помечено в качестве ответа Odrin 20 июля 2011 г. 10:41
    20 июля 2011 г. 10:41