Intento emular el código de carga de archivos del sitio web de grails, y tengo algunos problemas. Estoy usando el mismo código que encontré here. Aquí está mi código:Problemas de carga de archivos de Grails
<g:form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="myFile" />
<input type="submit" value="Upload" />
</g:form>
y
def upload = {
def f = request.getFile('myFile')
if(!f.empty) {
flash.message = 'success'
}
else {
flash.message = 'file cannot be empty'
}
}
Estoy recibiendo el siguiente error en tiempo de ejecución:
Message: No signature of method: org.mortbay.jetty.Request.getFile() is applicable for argument types: (java.lang.String) values: {"myFile"}
Caused by: groovy.lang.MissingMethodException: No signature of method: org.mortbay.jetty.Request.getFile() is applicable for argument types: (java.lang.String) values: {"myFile"}
Parece estar relacionado con alguna configuración primavera. Spring no parece estar inyectando MultipartHttpServletRequest
, por lo que mi solicitud no tiene el método apropiado. Acabo de crear estas aplicaciones usando grails create-app
. No he modificado el archivo resources.groovy. Estoy usando Grails 1.0.3.
Cualquier ayuda es muy apreciada. El sitio web de Grails hace que esto se vea tan fácil.
Oh, ya .... nunca quieres permitir POST y GET desde el mismo cierre de acción, solo para este tipo de cosas. – billjamesdev
Si alguien está buscando cómo probar esto aquí hay un buen enlace http://roshandawrani.wordpress.com/2011/02/03/grails-mock-testing-a-file-upload/ gracias a Roshan – rsilva4