tengo este SPG:Cómo iterar sobre los archivos cargados en 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>
Pero cuando traté de ver el resultado en el controlador escribiendo:
render(params);
return true;
Me dieron este resultado:
"documentFile":[email protected]4dcf95
¿Cómo leo cada archivo que se está cargando? ¿Podría obtener lo siguiente?
documentFile:[File,null,File,null] // (if the 2nd and the 4th are not being used)
PS: Estoy usando Grails 1.2.2
¿Tiene un número variable de archivos en su forma, o va a ser siempre cuatro? Si es variable, actualizaré mi respuesta en consecuencia. –
es variable. Agregué el número al final del nombre ... pero sigue siendo raro porque cuando escribe muchas veces producirá una matriz de "algo" en params. – nightingale2k1
Sí, estaba buscando a través de la API de Grails y no pude encontrar un método que recupera un objeto File [] basado en entradas de archivos. La API de Servlet proporciona el método para tomar la matriz String [], pero no he buscado su fuente para ver cómo lo hace. Es de suponer que podría hacerse con un poco de trabajo manual en la solicitud de HTTP, pero eso probablemente sea demasiado trabajo. Usar 'request.fileNames' de Grails es probablemente un equivalente razonable. –