2014-04-18 2 views
0

이미지를 저장해야합니다. 바이트 []에서 ASPX 페이지의 Image 컨트롤로 만듭니다. 지금까지 :ASP.Net - System.Drawing.Image를 System.Control.Image로 설정하십시오.

byte[] myByte = (byte[])row["image"]; 
MemoryStream myStream = new MemoryStream(myByte, false); 
System.Drawing.Image sampleImage = System.Drawing.Image.FromStream(myStream); 

은 그 때 나는 외부 .ASHX 사용하거나 사용하지 않고, 나도 같은 aspx 페이지에서이 작업을 수행 할 수 있습니다 어떻게 System.Web.UI.WebControls.Image

에이 이미지를 설정해야합니다. asmx 파일? 기본적 제가 필요한 바이트 []는 이미지 제어 방법을 설정 매립에 base64 인코딩 된 이미지 (이미지를 제공 PNG로한다)하는

+1

base64로 인코딩 된 이미지를 사용해 볼 수는 있지만 대개는 피하는 것이 좋습니다 (성능 - 캐시 할 수 없음). 왜 그들을 처리하기 위해 외부 처리기/페이지를 사용할 수 없습니까? –

답변

1
다음

이다으로 DB 으 설정할 수있다 : 다시

<asp:Image runat="server" ID="foo" /> 

foo.Attributes["src"] = "data:image/png;base64," + 
    Convert.ToBase64String(myByte); 

-이 피해야합니다; 이처럼 제공되는 이미지는 캐시 할 수 없습니다. 그래서 만약 당신이 정말로 db로부터 이미지를 제공하고 싶다면 당신은 그들을 다루기 위해 외부 핸들러/페이지를 고려해야 만합니다 (그리고 그 핸들러에 캐싱을 설정하십시오).

+0

안녕하세요 Ondrej, 답장을 보내 주셔서 감사합니다! DB에서 이미지를 검색 할 때 별도의 .ashx가 필요하다는 점을 지적했습니다! – Shaamil