我有一個頁面發送html5畫布數據,編碼爲base64 bmp圖像(使用此算法http://devpro.it/code/216.html)到服務器端進程,該進程將其轉換爲System.Drawing.Image對象,並執行對它進行一些操作。System.ArgumentException:參數無效
在我當地的環境,這個工作得很好,但在我的EC2實例我得到以下錯誤:
System.ArgumentException: Parameter is not valid. at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData) at 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);
}
...
這裏是一個文本文件一個樣本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;
任何有識之士將不勝感激!
您在本地和ec2實例上運行此框架的哪個版本? – Oded
您的意思是說實際測試數據(該文件)無法在ec2實例上解碼,但可以在您的開發機器上?例如。在開發和服務器測試中不可能有不同的數據被處理。 –
對不起,忘了提及.NET 4.0。 – ari