Grails笔记三:完整的文件上传实例

文件上传在web应用中是比较普遍的,相对于使用jsp等技术实现文件上传,Grails的文件上传着实让人喜爱,因为极其简单,让人看一遍就容易轻松记住!不多说,实例如下:


假设已有一个名为uploadFile的控制器,并已有相应的GSP页面

1.在gsp页面中使用Grails标签uploadForm

<g:uploadForm name="myUpload" action="saveFile">
    <input type="file" name="myFile" />
    <button type="submit">提交</button>
</g:uploadForm>

当然也可以使用普通的<g:form>标签,但是这样需要添加一个属性:enctype="multipart/form-data",其它与<g:uploadForm>并无不同。

2.在grais-app中创建一个控制器controllers

在这个控制器中创建一个action:saveFile

    def saveFile(){
        /*获取客户端传递过来的文件,
        其中getFile()中的参数是类型为file的input的name属性的值*/
        def file=request.getFile("myFile")
//        获取文件的大小
        println file.size
//        获取文件的类型,如image/jpeg
        println file.contentType
//        获取文件的原始名称
        println file.originalFilename
//        将文件存储在自己希望存放的地方以及格式
        f.transferTo( new File( "d://1.jpg", f.originalFilename))
    }

 如果这个在很多控制器中都有使用,最好写成一个service!


 

posted @ 2015-03-02 16:30  雨中漫步,惟情而已  阅读(843)  评论(0编辑  收藏  举报