Grails通过Spring 的 MultipartHttpServletRequest 接口来支持文件上传.
上传文件的第一步就是像下面这样创建一个multipart form:Upload Form: <br />
<g:form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="myFile" />
<input type="submit" />
</g:form>
这里有一些方法来处理文件上传. 第一种方法是直接与Spring的MultipartFile 实体:def upload = {
def f = request.getFile('myFile')
if(!f.empty) {
f.transferTo( new File('/some/local/dir/myfile.txt') )
response.sendError(200,'Done');
}
else {
flash.message = 'file cannot be empty'
render(view:'uploadForm')
}
}
这显然很方便,通过MultipartFile 接口可以直接获得一个InputStream,用来转移到其他目的地和操纵文件等等.