2017-05-03 4 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

contenttype을 지정해 보셨습니까? 브라우저에서 URL을 열면 이미지를 다운로드하거나 볼 수 있습니까? – Fixation

+0

@Fixation 예 브라우저에서 URL을 열면 이미지를 다운로드 할 수 있습니다. 또한 콘텐츠 유형을 시도했습니다. – Jigarb1992

답변

1

당신이 ContentType prope을 설정 한 경우이 작동 rly를 입력하고 다음과 같이 간단히 응답 스트림을 출력에 복사하십시오.

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

고맙지 만 @Johnny가 작동하지 않습니다. – Jigarb1992

+0

위 예제와 같이 마지막 두 줄을 바꿨을 때 저에게 효과적이었습니다. Visual Studio 또는 웹 브라우저 콘솔에서 오류가 발생합니까? –

+0

Opps! 죄송합니다 다시 확인하고 내가 준 경로가 잘못되었습니다. 그것의 작동 @ 조니 감사 :) – Jigarb1992

관련 문제