2016-05-13 24 views
0

Grailsの新機能です。私は何度もファイルをアップロードしようとしました。しかし、失敗した。私はgrails 2.3.11を使用しています。そして、私のconfig.groovyファイルにはすでに含まれています。ファイルをアップロードすることができませんでした。

grails.web.disable.multipart=true 

ファイルアップロードのためにBuildConfigに依存関係を追加しませんでした。ひどく解決する必要があります。私は以下の

GSPのコードにコードを与えている:

<g:uploadForm action="upload" enctype="multipart/form-data" useToken="true"> 
     <fieldset class="form"> 
      <input type="file" name="file" /> 
     </fieldset> 
     <fieldset class="buttons"> 
      <g:submitButton name="upload" class="save" value="Upload" /> 
     </fieldset> 
    </g:uploadForm> 

マイコントローラーコード:私もこのコードの切れ端で試してみました

def file = request.getFile('file') 

MultipartRequest multipartRequest = request as MultipartRequest 
    def file = multipartRequest.getFile('file') 
    if (file){ 
     flash.message = "File found!!" 
    } else { 
     flash.message = "File NOT found. :-(" 
    } 
    redirect action:'list' 

しかし、それぞれ毎回同じエラーが発生する:

groovy.lang.MissingMethodException: No signature of method: 
    org.apache.catalina.core.ApplicationHttpRequest.getFile() 
    is applicable for argument types: (java.lang.String) values: [file] 
    Possible solutions: getXML(), getPart(java.lang.String), 
    getAt(java.lang.String), getAt(java.lang.String), getLocale(), getInfo() 

どのようにこの問題を解決できますか?ファイルアップロードの完全な例はありますか?

+0

答えて

2

config.groovyにgrails.web.disable.multipart = falseを設定する必要があります。これは、サーバーへのマルチパート要求を有効にすることを意味します。あなたのコントローラーの内部:

String content = request.getContentType() 
if (content.contains("multipart/form-data") || (request instanceof MultipartHttpServletRequest)) { 
    MultipartFile uploadedFile = request.getFile('file') 
    if (!uploadedFile) { 
     flash.message = "No attachment found for upload!" 
    }else{ 
     flash.message = "File uploaded successfully." 
    } 
} else { 
    flash.message = "Unable to upload file, Bad Request!") 
} 
+0

Thanks Sandeep Poonia。それは動作します: – user2488166

+4

それが動作する場合は、答えを受け入れる必要があります –

関連する問題