2013-07-06 1 views
0

FileResult을 반환하는 컨트롤러 동작을 사용하여 차트를 작성하는 방법을 알고 있습니다.ASP.NET MVC에서 컨트롤러 동작을 사용하지 않는 차트

제 질문은보기 (cshtml) 파일로 작업을 도우미로 옮길 수 있습니까? 이렇게하면 뷰 로직이 뷰에 완전히 포함됩니다.

컨트롤러 작업이 없으면 img src 속성에 어떤 URL을 채울 수 있습니까? 또는 img 태그 대신 다른 방법으로 이미지 스트림을 표시 하시겠습니까?

+0

시도해보십시오 ... – James

+0

@James 질문은 스트림을 img src 속성으로 보내는 방법입니까? 컨트롤러 동작에는 URL이 있습니다. –

답변

2

Controller 또는 정적 리소스를 가리키는 지 여부에 관계없이 이미지 데이터를 URL없이로드하려는 경우 핵심 문제는 base64 삽입을 사용하여 다음과 같이 이미지 데이터를 직접 HTML로 덤프 할 수 있습니다.

public static MvcHtmlString EmbedImageWithBase64(this HtmlHelper helper, byte[] imageBytes) 
     { 
     var base64Data = Convert.ToBase64String(imageBytes); 
     var imageSrcData = "data:image/png;base64," + base64Data; 
     return new MvcHtmlString(string.Format("<img alt="Chart Data" src=\"{1}\" />", imageSrcData)); 
     } 
+0

그게 다야! 고맙습니다. –

+0

이미지 형식을 차트 화하는 것이'png'와 다른 것이라면, 물론 그것을 바꿔야 할 것입니다. – haim770