2011-01-19 17 views
1

私はサーバー上にイメージのバイト配列を持っています。 MVCを疑似REST Webサービスインターフェイスとして使用する。How-to:画像をバイト配列で文字列に変換し、HTTPリクエストを返してから、バイト[]画像に戻しますか?

私は、このイメージをHTTPリクエストを通してMVCクライアントに送ってレンダリングする必要があります。

最初にUFT8Encodingを使用して文字列にエンコードし、そのクロスを送信し、クライアントでUTF8Encodingを使用してデコードしました。 しかし、これを行うと、クライアント上の結果はnullです。私は返信しようとしている文字列の形式のために仮定します。

これは、私が無駄に今やっていることです:

 byte[] image = GetBarcodeImage(barcode); 
     if (image != null) 
     { 
      UTF8Encoding enc = new UTF8Encoding(); 
      result = enc.GetString(image); 
     } 

これは、クライアント側にある:

 UTF8Encoding encoding= new UTF8Encoding(); 
     byte[] image = encoding.GetBytes(result); 
     string imageBase64 = Convert.ToBase64String(image); 
     string imgsrc = string.Format("data:image/gif;base64,{0}", imageBase64); 

答えて

0

あなたがイメージとしてそれを返さない何らかの理由がありますあなたのコントローラーから?

var image = GetByteArrayImage(); 
var stream = new MemoryStream(image); 
Response.Cache.SetCacheability(HttpCacheability.Public); 
Response.Expires = 14400; 
return File(stream, "image/jpg"); 

Thinクライアントでは、WebRequestを使用して他のファイルと同じようにファイルをダウンロードしたり、他の魔法を使う必要はありません。

+0

次に、受信側のファイルオブジェクトからベース64文字列を取得するにはどうすればよいですか? –

+0

Convert.ToBase64String(byte []) –

+0

これを取得しました!ありがとう:) –

関連する問題