2010-06-25 4 views
1

Lorsque j'utilise Commons FileUpload, la méthode parseRequest (request) télécharge des fichiers et lit également des paramètres de publication supplémentaires. Je ne peux donc obtenir les valeurs de paramètres qu'après le téléchargement des fichiers. Le problème est que j'ai besoin de ces valeurs de paramètres avant de télécharger les fichiers (l'un des paramètres est upload_path).Obtenir le paramètre de message avant le téléchargement

Est-il possible d'obtenir d'abord les paramètres de publication à partir du contenu multi-parties, puis de commencer le téléchargement vers le bon dossier? (Request.getParameter (name) renverra null pour le contenu multi-parties).

Merci d'avance!

Répondre

1

Cela fonctionne pour moi, en premier passage, je vérifie tous les paramètres, après que je prends les champs non-formulaire pour le téléchargement.

ServletFileUpload upload = new ServletFileUpload(); 
FileItemIterator iter = upload.getItemIterator(request); 

while (iter.hasNext()) { 
    FileItemStream item = iter.next(); 
    String name = item.getFieldName(); 
    InputStream stream = item.openStream(); 

    if (item.isFormField()) { 
     byte[] buffer = new byte[ 128 ]; 
     int len = stream.read(buffer); 
     String value = new String(buffer, 0,len); 
     if (name.equals("name")) { 
      filename = value; 
     } 
     System.err.println("Form field " + name + " with value " + value + " detected."); 
     stream.close(); 
    } 
} 
Questions connexes