Я пытаюсь принимать значки и добавлять их к динамическому изображению, которое я создаю. См. StackFlair. Код сайта работает нормально локально и на одном общем сервере хостинга. blah blah, бесплатный хостинг, вы получаете то, за что платите, blah blah Моя проблема в том, что я получаю исключение из новой настройки хостинга. Это исключение происходит только для файлов .ico.. Я могу обрабатывать .gif и .png изображения просто отлично на всех проверенных серверах (т.е. изображении гравитара). Фавиконы, которые я пытаюсь использовать, являются знаками из сети SE, но даже http://www.google.com/favicon.ico приводит к следующему исключению.
System.ArgumentException: параметр недействителен.
- System.Drawing.Image.FromStream(поток потока, логическое использованиеEmbeddedColorManagement, логическое значение validateImageData)
- System.Drawing.Image.FromStream(поток потока)
Ниже перечислены варианты кода, который я пытаюсь сделать. Я получаю тот же Параметр недействительным исключением для всех вариантов.
byte[] imageBytes = //pull from Image field in SQL Server
//or
byte[] imageBytes = new WebClient().DownloadData(imageUrl);
MemoryStream ms = new MemoryStream(imageBytes);
Image image = Image.FromStream(ms);
//or
Icon icon = new Icon(ms);
Image image = icon.ToBitmap();
//or
Image image = new Bitmap(ms);
Все они работают нормально локально и на сервере плохого хостинга. Ни один из них не работает на сервере, на котором я хочу быть включенным. Используя вывод Trace, я могу проверить, что длина массива содержит правильное количество байтов. Если я сделаю следующее, я увижу изображение, отображаемое как ожидалось.
Response.Clear();
Response.BinaryWrite(imageBytes);
Response.End();
Если я прохожу через массив и выписываю каждое значение байта, вывод идентичен моему локальному экземпляру на сервер, на котором я получаю исключение.
Если это помогает, сервер, на котором мой код не работает, является сервером Windows 2003 с sp2.
Очевидно, что фреймворк говорит мне, что поток байтов недействителен, но все, что я проверил, проверяет. Любые идеи о том, почему этот конкретный сервер задыхается от файлов .ico?