2011-04-06 7 views
1

버튼을 클릭하여 다운로드 할 수 있어야하는 생성 된 HTML 파일이 있습니다. 새 창에서 열지 않고이 특정 HTML 파일에 대한 파일 저장 대화 상자를 보여주는 것입니다.생성 된 HTML 파일 다운로드

내가 지금까지 가지고있는 코드 :이 내 머리를 깨는 봤는데으로

AVaadinApplication application = VaadinContext.getCurrentInstance().getVariable(VaadinContext.APPLICATION, AVaadinApplication.class); 

StreamResource inputHTML = new StreamResource(
     new StreamResource.StreamSource() { 
      private static final long serialVersionUID = 1L; 

      @Override 
      public InputStream getStream() { 
        return new ByteArrayInputStream(getHelpContentString(getLocale()).getBytes()); 
      } 
     }, "help_" + getLocale() + ".html", application); 
inputHTML.setCacheTime(0); 

어떤 도움을 주시면 더 좋구요.

+2

"내가 지금까지 가지고있는 코드 :"- 실제 문제는 무엇입니까? 작동하지 않습니까? 다음에 어디로 가야할 지 확신이 없습니까? 오류가 있습니까? 더 구체적으로 말하십시오. –

+0

이 코드는 필요한대로 HTML 파일을 생성하지만 새로운 탭에서만 열립니다 ('getMainWindow(). open (inputHTML, "_blank");') – Fverswijver

답변

2

HTML을 Zip 파일로 묶습니다. 내가 아는 브라우저 중 하나는 Zip 파일을 표시하려고 시도하지만 대신 '열기 (Zip 아카이브 프로그램에서) 또는 저장'파일로 푸시 아웃합니다.

+0

매력. 고마워요 – Fverswijver

+0

걱정할 필요가 없습니다. 다행 이군. :) –

2

첨부 파일에 결과의 HTTP Content-Disposition 헤더를 설정해야합니다. 어떻게하는지는 웹 서버와 상호 작용하는 방식에 달려 있습니다. yore 코드가 서블릿으로, play 프레임 워크에서 cgi로 실행되고 있습니까?

관련 문제