2017-05-03 19 views
0

私のAsp.Net MVCプロジェクトでHttpHandlerを使用しています。私は応答として画像を返す別のMVC APIプロジェクトを持っています。 HttpWebRequestの使用私はAPIを呼び出すことができますが、コードにエラーはありませんが、ページ内の画像は表示できません。HttpHandlerのHttpWebRequestから画像を取得

マイコード:

のHttpHandlerコード:

var currentResponse = HttpContext.Current.Response; 

string URL = "http://localhost:50417/API/GetThumbnail"; 
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); 
        request.KeepAlive = false; 
        request.ProtocolVersion = HttpVersion.Version10; 
        request.Method = "GET"; 
        request.Timeout = 30000; 
        HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

        StreamReader streamr = new StreamReader(response.GetResponseStream()); 


        currentResponse.Write(streamr.ReadToEnd()); 

RouteConfig.cs

routes.Add(new Route("Thumbnail/getImage", new ThumbnailImageRouteHandler())); 

index.csHtml

<img src="/Thumbnail/getImage" /> 
+0

コンテンツタイプを指定しようとしましたか?ブラウザでURLを開くと画像をダウンロード/表示できますか? – Fixation

+0

@Fixationはい私はブラウザでURLを開くと画像をダウンロードすることもできますが、コンテンツタイプを試しました – Jigarb1992

答えて

1

あなたがContentTypeプロペを設定した場合、これは動作しますrlyを指定して、レスポンスストリームを次のように出力にコピーします。

response.GetResponseStream().CopyTo(currentResponse.OutputStream); 
currentResponse.ContentType = response.ContentType; 
+0

ありがとうございます@Johnny – Jigarb1992

+0

あなたの例の最後の2行を上記のものに置き換えたときはうまくいきました。 Visual StudioやWebブラウザのコンソールでエラーが発生しますか? –

+0

Opps!申し訳ありませんが、私は再度それを再確認し、私が与えた道は間違っています。その仕事は@ジョニーありがとう:) – Jigarb1992

関連する問題