Я ужасно опаздываю с этим, но сегодня я столкнулся с той же проблемой и решил ее, добавив фильтр сервлетов (я также попробовал фильтр Grails, но перед его созданием возникло исключение).
Сначала вам нужно создать файл web.xml в вашем проекте ...
grails install-templates
Добавить фильтр в файл web.xml (убедитесь, что фильтр фильтра не установленперед любыми другими фильтрами) ...
<filter>
<filter-name>upload</filter-name>
<filter-class>com.myProject.UploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>upload</filter-name>
<url-pattern>/media/uploadMediaAsset/*</url-pattern>
</filter-mapping>
Создать класс фильтра ...
package com.myProject
import javax.servlet.*
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
import org.springframework.web.multipart.MultipartException
public class UploadFilter implements Filter {
private Log log = LogFactory.getLog(getClass())
public void init(FilterConfig filterConfig) throws ServletException { /* Do nothing */ }
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws java.io.IOException, ServletException {
log.debug 'Making sure file upload gets here.'
try {
chain.doFilter(request, response)
} catch (MultipartException mpE) {
log.error mpE
}
}
public void destroy() { /* Do nothing */ }
}