2017-02-06 8 views
0

私はC#でUHPとしてHTMLページとしてhttpで応答を送信できる小さなプログラムを開発しようとしています。実は私はこのコードをテキストストリームに答えることができるよ:C#の画像のWebサーバーへの応答

using (var output = args.Socket.OutputStream) 
{ 
    using (var response = output.AsStreamForWrite()) 
    { 
     var html = Encoding.UTF8.GetBytes(htmlResponse); 
     using (var bodyStream = new MemoryStream(html)) 
     { 
      var header = $"HTTP/1.1 200 OK\r\nContent-Length: {bodyStream.Length}\r\nConnection: close\r\n\r\n"; 
      var headerArray = Encoding.UTF8.GetBytes(header); 
      await response.WriteAsync(headerArray, 0, headerArray.Length); 
      await bodyStream.CopyToAsync(response); 
      await response.FlushAsync(); 
     } 
    } 
} 

、応答が

HTTP/1.1 200 OK 
Content-Length: {bodyStream.Length} 
Connection: close 

あるしかし、私はJPEG画像またはPNG画像で答えるしようとすると、答えはブラウザから解釈されません。私は、バイト配列、ストリーム、Base64で画像を変換しようとしましたが、何もその仕事をしません。 どうすればいいですか?私はあなただけのMIMEタイプとheaderを追加する必要があると思うたくさん

答えて

0

ありがとう

image/jpeg、あなたは上記のタイプの応答にしてみてください(バイト配列、ストリーム、Base64で)

1

あなたはresponse.ContentType="image/jpeg"またはresponse.ContentType="image/png"に設定する必要があります。そうでなければ、ブラウザは画像のレンダリング方法を知らない。

関連する問題