2010-10-26 3 views
8

Jaki jest najlepszy sposób na pobranie pliku PDF za pomocą klienta GWT? Czy powinienem wywołać normalny serwlet, aby to zrobić? lub czy istnieje inne preferowane podejście do rozwiązania tego problemu?Jak pobrać plik za pomocą klienta GWT?

Jestem nowy w GWT, więc jeśli przykładowy kod byłby bardzo pomocny.

Dzięki Głębokie

Odpowiedz

4

Spróbuj z GET ...

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

Dzięki. używając tej metody, czy mogę uzyskać dostęp do dowolnego pliku, który nie znajduje się w katalogu głównym WAR? –

+0

tak, nasze pliki PDF nie znajdują się w katalogu głównym wojny. – cupakob

0

najlepszym sposobem jest poruszać się swoją przeglądarkę do tego pliku

przycisk Pobierz Dodaj click obsługi:

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

Możesz wdrożyć serwlet, pobierz plik LUB możesz zrobić t kapelusz przy użyciu Data URIs:

  1. Spraw, aby metoda GWT RPC zwróciła zawartość pliku lub dane do wygenerowania pliku.
  2. Po stronie klienta sformatuj Data URI z otrzymaną treścią pliku lub wygeneruj zawartość danych.
  3. Użyj opcji Window.open, aby otworzyć okno dialogowe zapisywania plików, które zakończyło formatowanie DataURI.

Spójrz na ten odnośnik, aby zrozumieć wykorzystanie Data URI:

Export to csv in jQuery