J'essaie d'émuler le code de téléchargement de fichiers à partir du site Web de Grails, et je rencontre des problèmes. J'utilise le même code que celui trouvé here. Voici mon code:Grails Problèmes de téléchargement de fichiers
<g:form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="myFile" />
<input type="submit" value="Upload" />
</g:form>
et
def upload = {
def f = request.getFile('myFile')
if(!f.empty) {
flash.message = 'success'
}
else {
flash.message = 'file cannot be empty'
}
}
Je reçois l'erreur suivante lors de l'exécution:
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"}
Il semble être lié à une configuration de printemps. Spring ne semble pas s'injecter MultipartHttpServletRequest
, donc ma requête ne possède pas la méthode appropriée. Je viens de créer ces applications en utilisant grails create-app
. Je n'ai pas modifié le fichier resources.groovy. J'utilise des grails 1.0.3.
Toute aide est très appréciée. Le site Web de grails rend ce regard si facile.
Oh, vous ... vous ne voulez jamais autoriser le POST et GET à partir de la même fermeture d'action, juste pour ce genre de chose. – billjamesdev
Si quelqu'un cherche comment tester ceci, voici un bon lien http://roshandawrani.wordpress.com/2011/02/03/grails-mock-testing-a-file-upload/ merci à Roshan – rsilva4