我有一个页面发送html5画布数据,编码为base64 bmp图像(使用此算法http://devpro.it/code/216.html)到服务器端进程,将其转换为System.Drawing.Image对象和做一些操作.
在我的本地环境中,这工作正常,但在我的ec2实例上,我收到以下错误:
System.ArgumentException:参数无效.在System.Drawing.Image.FromStream(Stream stream,Boolean useEmbeddedColorManagement,Boolean validateImageData)中的System.Drawing.Image.FromStream(Stream stream,Boolean 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);
}
...
Run Code Online (Sandbox Code Playgroud)
这是一个包含我正在测试的样本b64string的文本文件: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;
Run Code Online (Sandbox Code Playgroud)
任何见解将不胜感激!