Comment utiliser GWT lors du téléchargement des Fichiers avec une Servlet?
Je suis entrain de créer un projet simple qui va me permettre de charger et télécharger des fichiers en utilisant gwt. j'ai de la difficulté avec le téléchargement de fichiers qui sont sur mon serveur.
Pour l'upload d'un fichier que j'ai utilisé http://code.google.com/p/gwtupload/ et suivi les instructions. Mon fichier est stocké sur le serveur, en dehors du site de conteneur(sur le disque dur),
Maintenant, quand il s'agit de télécharger un fichier, je veux un utilisateur à appuyer sur un bouton de téléchargement et quel que soit l'élément actuellement sélectionné sera le télécharger. je n'ai pas vraiment savoir comment ce sera fait
je sais que j'ai besoin d'un téléchargement servlet
public class DownloadAttachmentServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//TODO Auto-generated method stub
super.doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String fileName = (String) req.getSession().getAttribute("fileName");
YFUser user = (YFUser) req.getSession().getAttribute(TestServiceImpl.SESSION_USER);
if (user == null)
throw new ServletException("Invalid Session");
InputStream in = null;
OutputStream out = resp.getOutputStream();
FileInputStream fIn = new FileInputStream(fileName);
byte[] buffer = new byte[4096];
int length;
while ((length = in.read(buffer)) > 0){
out.write(buffer, 0, length);
}
in.close();
out.flush();
}
}
pour le moment, je vais juste passer un nom de fichier de la chaîne pour récupérer le fichier de test
maintenant, je suis perdu à ce qui est à faire sur le côté client, j'ai une simple
public class DownloadFilePanel extends Composite {
public DownloadFilePanel(final YFUser user , final String fileName){
final Element downloadIframe = RootPanel.get("__download").getElement();
VerticalPanel content = new VerticalPanel();
content.add(new Label("Download For this File : " + fileName));
Button button = new Button("Download");
button.addClickHandler(new ClickHandler(){
@Override
public void onClick(ClickEvent event) {
//i do not know what to do here
});
content.add(button);
initWidget(content);
}
}
ci-dessus est un simple widget qui vous offre un panneau qui va permettre le téléchargement d'un fichier sur la base d'un nom de fichier
comme vous pouvez le voir ci-dessus, je ne sais pas quoi faire pour être en mesure de télécharger le fichier
est-il quelqu'un qui peut me pointer dans la bonne direction?
OriginalL'auteur molleman | 2010-05-30
Vous devez vous connecter pour publier un commentaire.
Sur le côté client, il suffit de créer un régulier
<a href="path/to/servlet">
tag. Vous pouvez utiliser leAnchor
classe si vous souhaitez créer dynamiquement. Lorsque l'utilisateur clique sur le lien, le navigateur va automatiquement télécharger le fichier.Chaque servlet a une url (celle que vous spécifiez dans votre web.xml). Il vous suffit de mettre l'URL dans le
href
attribut. En outre, le nom de fichier peut être transmis en tant que paramètre de l'URL comme?filename=abcd.txt&otherParam=otherValue
. Dans votre servlet, vous pouvez obtenir le nom de fichier en appelantrequest.getParameter("filename")
je vous remercie de l'isr , fonctionne bien maintenant
puis-je avoir un coup d'oeil à la web.xml votre aide et le paramètre que vous êtes de passage à l'Ancre.
OriginalL'auteur Sripathi Krishnan