2012-11-15 2 views
0

자바 서블릿에 pdf를 만들었습니다. 작성한 pdf가 열리면 내 서블릿에 pdf라는 이름이 잘못 지정됩니다. 여기 내 코드입니다 : 내 인라인 pdf 이름 지정

 response.setHeader(contentDisposition, "inline; filename=TemporaryVerification.pdf"); 

    try { 

     reader = new PdfReader(CreateStuVerification.class.getResource("/resource/" +  tempFile)); 
     stamp = new PdfStamper(reader, response.getOutputStream()); 

그래서 내가 내 PDF는 "TemporaryVerification.pdf"라는 이름 싶은,하지만 (내 서블릿의 이름)을 "CreateStuVerification.pdf"입니다. 누구나 이것이 왜, 그리고 어쩌면 그것을 고치는지를 알고 있습니까?

편집 : 인라인 PDF로 유지해야합니다. 첨부 파일로 시도했지만 올바르게 이름 붙여졌습니다.

답변

1

이 문제는 IE 브라우저에만 적용됩니다. URI 경로의 마지막 부분을 다운로드 된 리소스의 기본 이름으로 사용합니다. 더 정상적인 브라우저는 Content-Disposition 헤더의 filename 속성을 적절히 사용합니다.

당신은 더 나은 /pdf/*와 같은 경로 패턴에 서블릿을 매핑 한 후 바로 그래서

<a href="pdf/TemporaryVerification.pdf"> 

같은 PDF를 반환하기로되어있는 URL에 원하는 파일 이름을 추가 할 것

당신은 필요하면 얻을 수 있습니다 파일명 부분은 다음과 같습니다 :

String filename = request.getPathInfo().substring(1); // TemporaryVerification.pdf 
// ...