2009-06-04 10 views
2

J'utilise javazoom pour le téléchargementEnvoi d'un fichier en Java en utilisant un servlet

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
throws ServletException { 
    PrintWriter out = null; 
    JOptionPane.showMessageDialog(null, "Lets do this"); 
    try { 
     response.setContentType("text/html;charset=UTF-8"); 
     try { 
      MultipartFormDataRequest dataRequest = new MultipartFormDataRequest(request); 
      //get uploaded files 
      Hashtable files = dataRequest.getFiles(); 
      if (!files.isEmpty()) { 
       UploadFile uploadFile = (UploadFile) files.get("filename"); 
       byte[] bytes = uploadFile.getData(); 
       String s = new String(bytes); 

les fichiers sont toujours à venir comme vide. Toute aide s'il vous plaît?


J'ai ensuite essayé de faire cela avec Apache Commons FileUpload:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
throws ServletException { 
    PrintWriter out = null; 

     try { 

      response.setContentType("text/html;charset=UTF-8"); 
      //MultipartFormDataRequest dataRequest = new MultipartFormDataRequest(request); 
      //get uploaded files 
      FileItemFactory factory = new DiskFileItemFactory(); 
      // Create a new file upload handler 
      ServletFileUpload upload = new ServletFileUpload(factory); 
      List files = null; 
      try { 
       files = upload.parseRequest(request); 
      } catch (FileUploadException ex) { 
       Logger.getLogger(ProcessUploadItem.class.getName()).log(Level.SEVERE, null, ex); 
      } 

et il a échoué à files = upload.parseRequest(request);

Tous les pointeurs?

Désolé et merci :)

+0

Veuillez faire attention aux suggestions de suggestions lors du marquage de votre question. Toute étiquette avec un nombre inférieur à 10 après son nom est probablement faux. Évitez de créer de nouveaux tags. –

+0

ah thnx ... Je vais le garder à l'esprit – Lilz

Répondre

3

Vérifiez la forme d'envoyer le fichier a enctype = "multipart/form-data" défini comme ici:

<form enctype="multipart/form-data" action="... 

Autre façon dont le fichier ne sera jamais télécharger selon RFC1867

+0

J'ai écrit ceci à mon autre servlet out.println ("

"); Out.println ("

Upload de fichier

"); Out.println ("Sélectionnez un fichier:") Out.println ("") Out.println (
); Out.println ("") out.println (""); – Lilz

0

Utilisez-vous un autre framework, comme Trinidad ou similaire? Ils incluent généralement des filtres qui récupèrent les fichiers téléchargés. Ainsi, lorsque le processus arrive sur votre serveur, la requête ne contient aucun fichier joint.

+0

Non, je ne crois pas que je suis: S – Lilz

+0

Je pense que skaffman vous a donné la réponse :) –

4

Je vous recommande d'utiliser une bibliothèque plus populaire et plus populaire, comme Apache Commons FileUpload. Il est plus susceptible de fonctionner, d'avoir de meilleurs documents et d'avoir plus de gens autour pour vous aider à l'utiliser.

+0

merci en fait je pense que je le ferai – Lilz

Questions connexes