2016-07-25 14 views
0

Ich entwickle eine GWT-Anwendung, die auf dem Server eine PDF-Datei erstellt und diese dann an den Client überträgt. Auf der Client-Seite, erscheint ein Fenster, das dem Benutzer entweder zuDer Name einer erstellten PDF wird nicht vom Server zum Client übertragen (GWT - GAE)

  • öffnen Sie sie mit einem Programm mit dem Dateinamen zugeordnet erlaubt endet, oder
  • speichern es auf der Disc.

Ich habe mehrere Threads zu diesem Thema, wie

und das half mir die doGet Codierung() - Methode in mein Druck-Servlet wie folgt:

resp.setContentType("application/octet-stream"); 
resp.setHeader("Content-Disposition:", "attachment; filename=\"" + fileName + "\""); 

Dies funktioniert beim Testen und Debuggen mit dem lokalen GWT-Entwicklungsserver einwandfrei.

Aber mein großes Problem ist:
Nach der GAE Bereitstellung und den Code auf GAE, die erstellten pdf-Name wird nicht an den Client übertragen läuft ...!

Statt z.B. TestPdf-25072016.pdf, der Name besteht nur aus dem Wort Drucken.

Das führt dazu, dass das Standardprogramm für ein PDF nicht automatisch aufgerufen wird, wenn ich es öffnen möchte. Und natürlich ist Drucken nicht der Name der PDF, die ich haben möchte ...

Wo ist mein Fehler? Besonders bin ich verwirrt, dass alles gut funktioniert, wenn man den lokalen Entwicklungsserver benutzt?

Vielen Dank für Ihre Unterstützung!

Antwort

0

Sie könnten ein Tool wie Wireshark oder Fiddler verwenden, um den tatsächlichen HTTP-Header zu erfassen, der an Sie gesendet wird, wenn Sie den Ausdruck in GAE aufrufen. Vielleicht passt GAE die Kopfzeile an oder blockiert sie einfach.