私は、このアルゴリズムhttp://devpro.it/code/216.htmlを使用してBase64 bmpイメージとしてエンコードされたhtml5 canvasデータを、それを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インスタンスでデコードできないのですが、devマシン上にある可能性がありますか?例えば。デベロッパーとサーバーテストで異なるデータが処理される可能性はありません。 –
申し訳ありませんが、両方の.NET 4.0については忘れてしまいました。 – ari