![](/img/trans.png)
[英]Method Too Large : While upgrading from grails 2.3.7 to grails 2.4.4
[英]Error while uploading file in grails 2.3.7
发送电子邮件时,我将附加一个文件。
<g:formRemote id="emailWidgetForm" name="emailOrderMailForm" enctype="multipart/form-data"
on404="alert('not found!')"
onLoading="showSpinner('emailWidget');" onComplete="hideSpinner();"
url="[controller: 'emailSender', action:'sendPersonalEmailToCustomer']"
action="${createLink(controller: 'emailOrder', action:
'sendPersonalEmailToCustomer')}"
before="if( validateGivenForm( 'emailWidgetForm' ) ) { " after="}">
<tr>
<td><strong>Attachment</strong></td>
<td><input type="file" size="10" name="attachments"/></td>
</tr>
<g:submitButton name="sendEmailButton" class="btn btn-primary pull-right"
value="Send Email"/>
</g:formRemote>
当我要像控制器一样
def file = request.getFile('attachments');
我在上面的行上收到错误消息。
错误是
groovy.lang.MissingMethodException: No signature of method:
org.springframework.security.web.servletapi.HttpServlet3RequestFactory$Servlet3SecurityContextHolderAwareRequestWrapper.getFile() is applicable for argument types: (java.lang.String) values: [attachments]
Possible solutions: getXML(), getPart(java.lang.String), getAt(java.lang.String), getAt(java.lang.String), getLocale(), getJSON()
请帮我。
[ 编辑 -根据Burt的评论忽略此内容。 它仅在Java / Spring中有效]
您可能必须将request
对象转换为通常的MultipartHttpServletRequest
:
MultipartHttpServletRequest mhsr = (MultipartHttpServletRequest) request
MultipartFile file = mhsr.getFile("attachments")
我猜想,由于Spring安全性似乎正在注入其自己的Servlet3SecurityContextHolderAwareRequestWrapper
版本的request
。
为此存在Jira问题,只需在配置文件中设置grails.web.disable.multipart=true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.