2010-04-27 5 views
0

이 작업은 다소 복잡합니다 ... 사용자의 브라우저에 PDF 파일 목록이 표시됩니다. 각 파일 이름은 파일에없는 가리키는 링크입니다,하지만, ASP 페이지로,브라우저에서 ASP 요청에 대한 응답으로 새 탭을 엽니 다.

내가 파일을 가져 viewfile.asp 원하는
<--a href="viewfile.asp?file=somefile.pdf">somefile.pdf</a> 

(나는 그 비트 확인을 완료했습니다)라고하지만 난 다음에 파일을 원하는 마치 사용자가 PDF 파일을 직접 여는 것처럼 브라우저에 의해로드됩니다. 그리고 새로운 탭이나 브라우저 창에서 열길 원합니다. 내가 이런 짓을 했을까

<% 
var FileID = Request.querystring ("file") ; 
var ResponseBody = MyGETRequest (SomeURL + FileID) ; 

if (MyHTTPResult == 200) 
    { 
    if (ExtractFileExt (FileID).toLowerCase = "pdf") 
     { 
     ?????? // return file contents in new browser tab 
     }   
.... 
%> 

답변

1

:

여기 (간체) viewfile.asp입니다.

<a href="viewfile.asp?file=somefile.pdf" target="_blank">somefile.pdf</a> 

이렇게하면 새 창/탭에서 열립니다. 모든 서버 측 언어는 브라우저를 제어하지 않습니다.

은 PDF로 제공 다니엘 새 창에서 열 수 있지만 새 탭할지 여부를 제어 할 수 있습니다 지적 하듯이

<% response.ContentType="application/pdf" %> 
+0

고마워요. 내 질문의 어려운 부분은 무엇입니까 (PDF로 PDF를 반환)! 그래서 응답 본문에 PDF 파일의 내용 (제 3의 웹 사이트에서 가져온 내용)이있는 서버의 ASP 페이지에 앉아 있습니다. 브라우저가 다시 PDF로 보도록 브라우저에 다시 보내려면 어떻게해야합니까? – rossmcm

+0

Brilliant. 치료를해라. PDF가 아닌 파일 형식의 경우 ContentType을 'application/octet-stream'으로 설정합니다. 어떤 이유로 브라우저가 Acrobat Reader로 파일을 열려고합니다. FF뿐만 아니라 크롬에서도 똑같은 동작을 시도했습니다. 어떤 아이디어? – rossmcm

+0

해당 파일을 각각의 MIME 유형과 함께 제공하십시오. –

2

를 호출합니다. 사용자가 자신의 브라우저를 구성하여 새 탭이 새 탭에서 열리도록 설정 한 경우 (그렇듯이) 사용자는 황금색입니다. 그렇지 않은 경우 새 창에서 열립니다. 탭을 제어 할 수 없습니다.

+0

Gotcha. 감사. – rossmcm