У меня есть страница, которая отправляет данные холста html5, закодированные как изображение base64 bmp (с использованием этого алгоритма http://devpro.it/code/216.html ) в серверный процесс, который преобразует его в объект System.Drawing.Image и выполняет с ним некоторые операции.
В моей локальной среде это работает нормально, но в моем экземпляре ec2 возникает следующая ошибка:
System.ArgumentException: параметр недействителен. в System.Drawing.Image.FromStream (поток потока, логическое useEmbeddedColorManagement, логическое значение validateImageData) в System.Drawing.Image.FromStream (поток потока, логическое {{1}) } 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);
}
...
Вот текстовый файл с образцом b64string, который я использую для тестирования: https://docs.google.com/leaf?id=0BzVLGmig1YZ3MTM0ODBiNjItNzk4YLi00I00MzI ru_US
Я также пробовал следующее и получил те же результаты:
System.Drawing.ImageConverter converter = new System.Drawing.ImageConverter();
image = converter.ConvertFrom(sf) as System.Drawing.Image;
Любое понимание будет очень признательно!