2011-07-28 4 views
1

DB에서 바이트 배열 객체를 검색하기 위해 버튼 클릭 이벤트를 설정하고 새 브라우저 창에 파일을 표시하려고합니다. 지금은 많이 가지고 있습니다.Http Response Object 새 창에서

Response.ContentType = "image/jpeg"; 
Response.AddHeader("content-length", fileBytes.Length.ToString()); 
Response.BinaryWrite(fileBytes); 

여기서 fileByes는 내 바이트 배열입니다. 이 작업은 완벽하게 작동하지만이 작업을 새 창에서 열어야합니다. response.write 함께 응답을 자바 스크립트 추가 시도했지만 작동하지 않는 것.

답변

1

버튼을 클릭하여 새 브라우저 창을 열면 원하는 코드를 호출 할 수 있습니다. 당신은 거꾸로하는 것을 시도하고 있습니다. 페이지의로드 이벤트에서

2

서버 측 코드에서 새 창을 열 수 없습니다. 자바 스크립트에서 window.open()으로 전화하여 파일을 반환하는 페이지의 URL을 전달해야합니다.

+0

URL이 없으므로 파일은 DB에 BLOB 형식으로 저장됩니다. – esastincy

+0

'Response.BinaryWrite()'를 통해 파일을 반환하는 페이지를 의미합니다. 나는 나의 대답을 업데이트했다. –

2

응답 작성은 서버 측에서 처리됩니다. 응답을 표시하는 것은 클라이언트 쪽에서 처리됩니다. 서버에서 응답을 받으면 클라이언트에게 새 창을 열도록 지시해야합니다 (예 : getImage.aspx 이미지/페이지를 제공에 대한 책임 ASP.NET 페이지입니다

<a href="getImage.aspx" target="_blank">Get Image</a> 

.

0

사용을 빈 .aspx에 URL에 하이퍼 링크,
?param=4&param2로 URL에 매개 변수를 전달 ... 등
이 응답 코드를 배치합니다.