Как обработать CommonsMultipartFile - PullRequest
       13

Как обработать CommonsMultipartFile

1 голос
/ 30 декабря 2011

Я пытаюсь реализовать код загрузки для Grails. Когда файл обрабатывается на моем контроллере, я получаю эту ошибку:

ERROR errors.GrailsExceptionResolver  - Exception occurred when processing request: [POST] /com.jason.score/fileResource/uploads
Stacktrace follows:
groovy.lang.MissingMethodException: No signature of method: static org.hsqldb.types.Binary.storeMyFileMethod() is applicable for argument types: (org.springframework.web.multipart.commons.CommonsMultipartFile) values: [org.springframework.web.multipart.commons.CommonsMultipartFile@1a17db8]
    at com.jason.score.FileResourceController$_closure4_closure6.doCall(FileResourceController.groovy:73)
    at com.jason.score.FileResourceController$_closure4.doCall(FileResourceController.groovy:72)
    at com.jason.score.FileResourceController$_closure4.doCall(FileResourceController.groovy)
    at java.lang.Thread.run(Thread.java:662)

Моя функция контроллера выглядит следующим образом:

  def uploads = {
    Collection result = []
    Binary binary
    request.getFileNames().each {
        binary = Binary.storeMyFileMethod(request.getFile(it))
        result << [name: binary.getFileName(), size: binary.getFileSize()]
    }
    render result as JSON
}

Мой взгляд выглядит так:

  <g:form name="fileupload" url="[action:'uploads',controller:'fileResource']" method="POST" enctype="multipart/form-data">
           ....
            <input type="file" name="files[]" multiple>

  </g:form>

Может кто-нибудь объяснить, что происходит и как я могу обработать каждый загруженный файл (может быть несколько файлов)?

1 Ответ

1 голос
/ 30 декабря 2011

@ jason Вы установили плагин Grails JQuery?Если да, вы делали это до запуска приложения или после запуска приложения?убедитесь, что плагин jquery в classpath и организовать импорт.По сообщению об ошибке похоже, что jquery jar отсутствует в classpath, и ваше приложение пытается использовать org.hsqldb.types.Binary, который вы не должны использовать для загрузки файлов.

...