[JSP/Servlet] Fileupload - Jakarta Commons

Fileupload - Jakarta Commons [JSP/Servlet] - Java - Programmation

Marsh Posté le 12-05-2004 à 15:21:24    

Bonjour,
 
La question risque de vous sembler idiote, mais je me lance. Je voudrais que les utilisateurs de mon site puissent uploader des fichiers ; pour cela, j'utilise Fileupload mais je ne suis pas sûr de savoir comment spécifier le répertoire destination du fichier sur le serveur...
Dois-je préciser le path complet -> /home/monsite ? Ou y-a-t-il une méthode qui me donne ce même path ?
 
le code que j'utilise :

Code :
  1. public void doPost(HttpServletRequest req, HttpServletResponse res)
  2.     {
  3.         try{
  4.             DiskFileUpload fu = new DiskFileUpload();
  5.             // maximum size before a FileUploadException will be thrown
  6.             fu.setSizeMax(1000000);
  7.             // maximum size that will be stored in memory
  8.             fu.setSizeThreshold(4096);
  9.             // the location for saving data that is larger than getSizeThreshold()
  10.             fu.setRepositoryPath("/tmp" );
  11.             List fileItems = fu.parseRequest(req);
  12.            
  13.             Iterator i = fileItems.iterator();
  14.             String comment = ((FileItem)i.next()).getString();
  15.             FileItem fi = (FileItem)i.next();
  16.             // filename on the client
  17.             String fileName = fi.getName();
  18.             // save comment and filename to database
  19.             System.out.println( "Description du fichier : "+fileName );
  20.             // write the file
  21.             fi.write(new File("/" + fileName));
  22.         }catch(org.apache.commons.fileupload.FileUploadException e)
  23.          {
  24.             e.printStackTrace();
  25.          }
  26.          catch(Exception e)
  27.          {
  28.             e.printStackTrace();
  29.          }
  30.     }


 
voilà, c'est tout.
Merci d'avance
 
kayl

Reply

Marsh Posté le 12-05-2004 à 15:21:24   

Reply

Marsh Posté le 12-05-2004 à 15:52:32    

http://jakarta.apache.org/commons/ [...] using.html

Code :
  1. // Create a new file upload handler
  2. DiskFileUpload upload = new DiskFileUpload();
  3. // Set upload parameters
  4. upload.setSizeThreshold(yourMaxMemorySize);
  5. upload.setSizeMax(yourMaxRequestSize);
  6. upload.setRepositoryPath(yourTempDirectory);
  7. // Parse the request
  8. List /* FileItem */ items = upload.parseRequest(request);


ou

Code :
  1. // Create a new file upload handler
  2. DiskFileUpload upload = new DiskFileUpload();
  3. // Parse the request
  4. List /* FileItem */ items = upload.parseRequest(request,
  5.         yourMaxMemorySize, yourMaxRequestSize, yourTempDirectory);


 
et fait gaffe : dans ta boucle tu fais deux fois i.next() :/

Reply

Marsh Posté le 12-05-2004 à 16:04:40    

Merci benou, l'erreur classique... Je suis resté cantonné à la Javadoc sans retourner sur cette fameuse page, désolé.
Pour le double i.next(), ce n'est pas une erreur ! il me prend le contenu d'un textarea du formulaire (description du fichier).
 
merci
 
kayl

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed