2010-06-10 10 views
2

Est-ce que quelqu'un sait s'il est possible d'avoir un appel GWT-rpc provoquer une invite de téléchargement de fichier à apparaître sans avoir à faire une deuxième requête à une servlet séparée? Je pensais avoir une méthode dans le servlet rpc de type retour void et ensuite appeler l'objet de réponse directement pour changer le type de contenu et amener le navigateur à ouvrir une boîte de dialogue de téléchargement.GWT-Rpc comment retourner un fichier pour que le navigateur affiche une boîte de dialogue de téléchargement

Est-ce que quelqu'un a trouvé un bon moyen d'y parvenir sans avoir une servlet totalement séparée?

+1

Il semble définitivement être le moyen le plus simple, beaucoup plus facile (et donc moins sujet aux bugs) que celui que vous proposez. –

Répondre

2

Ce n'est pas possible. HERE est la même question que j'avais il y a longtemps

0

Je pense que vous pouvez essayer comme ceci.Un clic sur le lien, vous pouvez faire l'action suivante.

Window.open("www.mydomain.com/downloadfile?fileId=something","_blank",""); 

Mappez l'URL du fichier de téléchargement sur une servlet et renvoyez le fichier.

Mais vous ne pouvez pas publier de données sur le serveur.Vous pouvez l'ajouter dans l'URL.En appel RPC, il n'est pas possible d'envoyer le fichier. Pourquoi êtes-vous opposé à l'utilisation d'une servlet totalement distincte pour cela?

+0

J'utilise Window.Location.replace(), avec un en-tête de réponse de 'Content-Disposition: attachment; filename = fichier.pdf '. Il demande un téléchargement sans ouvrir une autre fenêtre. –