2010-04-26 5 views
14

J'ai réussi à télécharger des fichiers sur App-Engine en utilisant l'exemple suivant:App-Engine (Java) File Télécharger

How to upload and store an image with google app engine (java)

et

How to upload pics in appengine java

Le problème est, je Soumettre d'autres champs avec le champ de fichier comme indiqué ci-dessous:

<form action="index.jsp" method="post" enctype="multipart/form-data"> 
    <input name="name" type="text" value=""> <br/> 
    <input name="imageField" type="file" size="30"> <br/> 
    <input name="Submit" type="submit" value="Sumbit"> 
</form> 

Dans mon servlet, je reçois null lors de l'interrogation

name = request.getParameter("name"); 

Pourquoi est-il donc? Existe-t-il un moyen de récupérer la valeur du champ de texte?

Répondre

9

Vous devez passer par FileItemIterator. Dans l'exemple que vous avez mentionné, seule l'image est traitée (FileItemStream imageItm = iter.next();).

// From the example: http://stackoverflow.com/questions/1513603/how-to-upload-and-store-an-image-with-google-app-engine-java 
FileItemIterator iter = upload.getItemIterator(req); 
// Parse the request 
while (iter.hasNext()) { 
    FileItemStream item = iter.next(); 
    String name = item.getFieldName(); 
    InputStream stream = item.openStream(); 
    if (item.isFormField()) { 
     System.out.println("Form field " + name + " with value " 
      + Streams.asString(stream) + " detected."); 
    } else { 
     // Image here. 
     System.out.println("File field " + name + " with file name " 
      + item.getName() + " detected."); 
     // Process the input stream 
     ... 
    } 
} 

Voir http://www.jguru.com/faq/view.jsp?EID=1045507 pour plus de détails.

+0

Merci .. Cela fonctionne ... – Manjoor