我试图在我的gsp中上传grails文件:
<g:form id="update" url="[action: 'updateStatus',]">
<g:textArea name="message" value="" cols="3" rows="1"/><br/>
<g:textField id="tagField" name="tag" value=""/><br/>
<input id="inputField" type="file" name="myFile" enctype="multipart/form-data" />
<g:submitButton name="Update Status"/>
</g:form>
Run Code Online (Sandbox Code Playgroud)
在我的控制器中我有:
def updateStatus(String message) {
if (params.myFile){
def f = request.getFile('myFile')
}
Run Code Online (Sandbox Code Playgroud)
请求获取文件失败,出现此错误:
No signature of method: org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestWrapper.getFile() is applicable for argument types: (java.lang.String) values: [myFile]
Run Code Online (Sandbox Code Playgroud)
任何想法为什么这就像我一样,并在我的其他控制器中使用getFile工作正常.
这是工作文件提交:
形式(gsp)
<form method="post" enctype="multipart/form-data">
<p><input type='file' name="cfile"/></p>
<input type='submit'>
</form>
Run Code Online (Sandbox Code Playgroud)
将提交的文件存储到'D:/ submitted_file'的控制器:
def index() {
if(params.cfile){
if(params.cfile instanceof org.springframework.web.multipart.commons.CommonsMultipartFile){
new FileOutputStream('d:/submitted_file').leftShift( params.cfile.getInputStream() );
//params.cfile.transferTo(new File('D:/submitted_file'));
}else{
log.error("wrong attachment type [${cfile.getClass()}]");
}
}
}
Run Code Online (Sandbox Code Playgroud)
这对我有用(grails 2.0.4)
归档时间: |
|
查看次数: |
12946 次 |
最近记录: |