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>
何が問題になっているのか、アップロードされた各ファイル(複数のファイルの場合もあります)を処理する方法を誰かが説明できますか?