Próbuję emulować kod do wysyłania plików ze strony grails i mam pewne problemy. Używam tego samego kodu, co znaleziony here. Tu jest mój kodu:Problemy z przesyłaniem plików Grailsa
<g:form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="myFile" />
<input type="submit" value="Upload" />
</g:form>
i
def upload = {
def f = request.getFile('myFile')
if(!f.empty) {
flash.message = 'success'
}
else {
flash.message = 'file cannot be empty'
}
}
Otrzymuję następujący błąd w czasie wykonywania:
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"}
Wydaje się być związane z pewnym konfiguracji wiosennym. Wiosna nie wydaje się być wstrzykiwanie MultipartHttpServletRequest
, więc moje żądanie nie ma odpowiedniej metody. Właśnie stworzyłem te aplikacje przy użyciu grails create-app
. Nie zmodyfikowałem pliku resourcesroroy. Używam grails 1.0.3.
Każda pomoc jest doceniana. Witryna grails sprawia, że wygląda to tak łatwo.
Och, tak ... nigdy nie chcesz pozwolić na POST i GET z tego samego zamknięcia akcji, tylko dla tego rodzaju rzeczy. – billjamesdev
Jeśli ktoś szuka sposobu na sprawdzenie tego, tutaj jest dobry link http://roshandawrani.wordpress.com/2011/02/03/grails-mock-testing-a-file-upload/ dzięki Roshanowi – rsilva4