私はgrailsのアップロードコードを実装しようとしています。ファイルは私のコントローラ上で処理されている場合、私はこのエラーを取得:CommonsMultipartFileを処理する方法
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: [[email protected]a17db8]
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>
誰も説明できます何がうまくいかず、アップロードされた各ファイルをどのように処理することができますか(複数のファイルになる可能性があります)?
「バイナリ」とは何ですか、あなたは 'storeMyFileMethod()'をどこで呼び出すことができましたか?このエラーは、メソッドが存在しないことを示します( 'org.hsqldb.types.Binary')。インターネットはこれをサポートしているようです。 –
また、「各ファイルを処理する」という意味を具体化することはできますか? 「プロセス」とは、ディスクに保存してデータベースに保存するなど、さまざまなことを意味します。 –
ありがとうございます。私はjqueryファイルのアップロードプラグインを使用しようとしています:http://grails.org/plugin/jquery-file-upload。私は、動作するようにサンプルコードを取得しようとしていました。プロセスでは、ファイルをアップロードし、ファイルのサイズ/名前を取得し、JSONレスポンスとして解析します。どんな助けも素晴らしいだろう。それをした – jason