У меня есть страница, которая отправляет данные холста html5, закодированные как изображение base64 bmp (используя этот алгоритм http://devpro.it/code/216.html), в процесс на стороне сервера, который преобразует его в объект System.Drawing.Image и выполняет с ним некоторые операции .
В моем локальном окружении это работает просто отлично, но в моем экземпляре ec2 я получаю следующую ошибку:
System.ArgumentException: параметр недействителен. в
System.Drawing.Image.FromStream (Потоковый поток, логическое значение
useEmbeddedColorManagement, Boolean validateImageData) в
System.Drawing.Image.FromStream (Потоковый поток, логическое значение
useEmbeddedColorManagement)
Мой код выглядит следующим образом:
System.Drawing.Image image = null;
string b64string = "...";
byte[] sf = Convert.FromBase64String(b64string );
using (MemoryStream s = new MemoryStream(sf, 0, sf.Length))
{
image = System.Drawing.Image.FromStream(s, false);
}
...
Вот текстовый файл с образцом строки b64, который я использую для проверки: https://docs.google.com/leaf?id=0BzVLGmig1YZ3MTM0ODBiNjItNzk4Yi00MzI5LWI5ZWMtMzU1OThlNWEyMTU5&hl=en_US
Я также попробовал следующее и получил те же результаты:
System.Drawing.ImageConverter converter = new System.Drawing.ImageConverter();
image = converter.ConvertFrom(sf) as System.Drawing.Image;
Любое понимание будет с благодарностью!