2017-01-10 7 views
-1

イメージのbase64文字列があります。これをバイト配列&に変換し、それをmemoryStreamに変換します。このイメージをクライアントマシンにダウンロードするにはどうすればいいですか? base64文字列またはイメージは、server/folder/anywhereに保存されません。これは動的に作成されます。私は試しましたクライアントマシンにイメージをダウンロードできません

1)Response.ContentType = "image/png" =>例外objがオブジェクトのインスタントに設定されていません。この

Context.Response.Clear(); 
Context.Response.ClearHeaders(); 
Context.Response.AddHeader("Content-Disposition", "attachment; filename=" + registrationId + ".png"); 
Context.Response.ContentType = "image/jpeg"; 
Response.AddHeader("Content-Length", bytes.Length.ToString()); 
//Response.ContentType = "application/octet-stream"; 
Context.Response.BinaryWrite(bytes); 

2)を使用して、Webクライアントのように=>は例外

using (WebClient client = new WebClient()) 
{ 
    client.DownloadFile(ms1.ToString(), registrationId + ".png"); 
} 

他のソリューション提供しますか?

+0

[germankiwiの答え]について(http://stackoverflow.com/a/12631127/5588347)? –

+0

なぜResponse.AddHeader( "Content-Length"、bytes.Length.ToString()); '' Context.'を使わないのですか? – GraDea

+0

2番目のシナリオでは、サーバーにファイルをダウンロードしようとします。それは動作しません。 – GraDea

答えて

0

はちょうど私があなたがこのコンテキストで有効なPageオブジェクトを持っていないと思う

Context.Response.AddHeader("Content-Length", bytes.Length.ToString()); 

Response.AddHeader("Content-Length", bytes.Length.ToString()); 

を変更してみてください。

+0

@GraDea ...エラーが発生しましたあなたが示唆していること.. "価値は期待された範囲内に収まらない。" –

関連する問題