2017-02-07 1 views
0

제네릭 핸들러를 사용하여 데이터베이스에서 이미지 컨트롤로 이진 이미지를 표시 할 수있었습니다. 새 탭에서 이미지를 열거 나 마우스 오른쪽 버튼을 클릭하여 링크 주소를 복사하고 싶습니다. 그러나 사용 된 URL은 일반 처리기 (http://localhost:1948/admin/imghndlr.ashx?serial=qwertyuiop)의 주소입니다. 검색을 시도했지만 검색 결과를 얻지 못했습니다. 잘못된 키워드가 사용되었습니다. 아래는 새 탭의 이미지 스크린 샷입니다. Right Click>Open image on new tab제네릭 처리기에서 새 탭으로 이미지를 여는 방법은 무엇입니까?

+0

컨트롤로 설정하기 전에 이진 데이터를 이미지로 변환 했습니까? –

+3

PNG처럼 보이지만 (처음 몇 글자 참조) 잘못된 콘텐츠/MIME 유형 헤더로 전송됩니다. http://stackoverflow.com/a/1031144/74585 –

답변

0

어떻게 이미지를 표시하나요?

귀하의보기 파일은 다음과 같이 보일 것입니다. 당연히 데이터를 변경해야합니다 : 사용중인 파일 확장자의 이미지/jpeg.

<img alt="" src="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAsMAAAGhCAIAAAALOi7ZAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QgLEhM6PUSGrwAAIABJREFUeNq8vcuSLEmWHKZ6jnlEZt5761Z3T/eAHAICAYRcEALsuOCWPzbzDfwP/gKXWJACoRDCBSkEBgPhADKY7qnu+4wIdztHuThmHh55q2t6ho+SlpaqyMwID3ez89CjqsY//dM//bM/+zMc/pGE3//PT/z09/1I0t/1Rz/x+o9+0I++vv/n8fU/8MW/9U9+9JVvL/v/u1cy86cv5ttfePXKq//8fTfhp+/qT3/oq8v+6V/+Ay/v25/+4X/46nqO"/> 

또한 바이트 파일을 변환하지 않아도됩니다.

Convert.ToBase64String(Foto); 
0

데이터에 응답하는 유형을 브라우저에 알리려면 데이터를 추가해야합니다. 추가 코드는 다음과 같습니다 :

public void ProcessRequest(HttpContext context) 
{ 
    //image/png is png mime 
    context.Response.ContentType = "image/png"; 
    //read buffer from database 
    context.Response.BinaryWrite(buffer); 
} 
관련 문제