2010-10-26 2 views
8

Qual è il modo migliore per scaricare un file PDF utilizzando il client GWT? Devo invocare un servlet normale per farlo? o c'è un diverso approccio preferito per gestire questo problema?Come scaricare un file usando il client GWT?

Sono nuovo di GWT, quindi se qualche codice di esempio sarebbe di grande aiuto.

Grazie profonda

risposta

4

Provalo con GET ...

Window.open(GWT.getHostPageBaseURL() + "FileRepository/doDownload?docId=" + dokument.getId(), "", ""); 
+0

Grazie. usando questo metodo, posso accedere a qualsiasi file che non si trova nella directory principale di WAR? –

+0

sì, i nostri PDF non sono nella directory principale di war. – cupakob

0

il modo migliore è quello di navigare il browser per quel file

sul pulsante di download aggiungere gestore di clic:

Button downloadButton = new Button("Download"); 
downloadButton.addClickHandler(new ClickHandler() { 
    @Override 
    public void onClick(ClickEvent event) { 
     Window.open("url_of_file", "download File", "");    
    } 
}); 
1

È possibile implementare un Servlet scaricare il file O è possibile eseguire hat using Data URIs:

  1. Fare in modo che il metodo GPC RPC restituisca il contenuto del file oi dati per generare il file.
  2. Sul lato client, formattare un Data URI con il contenuto del file ricevuto o generare il contenuto dei dati.
  3. Utilizzare Window.open per aprire una finestra di dialogo di salvataggio file che passa il formato DataURI.

Date un'occhiata a questo riferimento, per capire l'utilizzo Data URI:

Export to csv in jQuery