2009-09-04 4 views
5

이미지를 보유하는 IMAGE 유형의 개체가 있습니다. 다른 컨트롤과 함께 MVC보기에서 이미지를 표시하려고합니다. 내가 생각할 수있는 방법은 임시로 이미지를 디스크에 저장하고 img 컨트롤의 src를 설정하는 것입니다. 나는 이것을하는 더 좋은 방법이있을 것이라고 확신한다.MVC의 IMAGE 개체에서 이미지 표시

답변

2

이미지를 스트리밍하고 이미지 태그에서 스 트리머를 참조하는 처리기를 작성할 수 있습니다.

예를 들어 http://myapp/media.ashx?imageId=10 개의 이미지가 출력됩니다. 귀하의 페이지에서 귀하는 다음과 같이 참조하십시오 : <img src="http://myapp/media.ashx?imageId=10"/>.

이렇게하면 디스크에 임시로 쓸 필요가 없습니다.

1

이미지를 컨트롤러 동작의 응답 내용으로 제공 할 수 있습니다. 이 응답은 콘텐츠 유형으로 이미지 유형을 갖습니다.

4

제 생각에는 이것을 수행하는 가장 쉬운 방법은 컨트롤러에서 FileStreamResult을 반환하는 것입니다.

public FileResult GetImage() 
{ 
    string path = "c:\images\image.jpg"; 
    return new FileStreamResult(new FileStream(path, FileMode.Open), "image/jpeg"); 
} 

이것은 간단한 구현이지만 시도하려는 대상의 시작점을 제공합니다.

4

@Giovanni's 응답을 구현하는 데 관심이있는 경우 지난 답변에서 도움이 될 수있는 코드가 있습니다. here. ImageHandler 클래스는 Giovanni의 경우에 구현하려는 예제입니다.

0

이미지를 Base64 문자열로 변환하고 img 태그의 src 속성에 지정할 수 있습니다.

<img alt="Embedded Image" width="168" height="32" 
    src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgA..." /> 

http://www.greywyvern.com/code/php/binary2base64