Ich habe dieses GSP:Wie iterieren hochgeladenen Dateien in Grails
<g:uploadForm name="myForm" action='save'>
<input type='file' name='documentFile' value=''/>
<input type='file' name='documentFile' value=''/>
<input type='file' name='documentFile' value=''/>
<input type='file' name='documentFile' value=''/>
<input type='submit' value='Submit'/>
</g:uploadForm>
Aber wenn ich durch die Eingabe des Ergebnisses in Controller anzuzeigen versucht:
render(params);
return true;
Ich habe dieses Ergebnis:
Wie lese ich jede Datei, die hochgeladen wird? Kann ich Folgendes bekommen?
documentFile:[File,null,File,null] // (if the 2nd and the 4th are not being used)
ps: Ich bin Grails 1.2.2
Haben Sie eine variable Anzahl von Dateien in Ihrem Formular haben, oder wird es immer vier sein? Wenn es variabel ist, werde ich meine Antwort entsprechend aktualisieren. –
es ist variabel. Ich habe am Ende des Namens eine Zahl hinzugefügt ... aber es ist immer noch komisch, denn wenn man schreibt, erzeugt es oft ein Array von "etwas" in params. – nightingale2k1
Ja, ich habe die Grails API durchsucht und konnte keine Methode finden, die ein File [] Objekt basierend auf Dateieingaben abruft. Die Servlet-API stellt die Methode zum Abrufen des Arrays String [] bereit, aber ich habe die Quelle nicht untersucht, um zu sehen, wie sie es tut. Vermutlich könnte es mit manueller Arbeit an der HTTP-Anfrage gemacht werden, aber das ist wahrscheinlich zu viel Arbeit. Die Verwendung von "request.fileNames" von Grails ist wahrscheinlich ein sinnvolles Äquivalent. –