图像上传在grails中

Don*_*onX 3 java grails groovy frameworks

我是grails的新手.我正在做Web应用程序,它从客户端上传图像并将其存储在服务器中.

我的Gsp代码是:

<g:uploadForm action="saveImage">
<input type="file" name="image"> 
<input type="submit" value="Submit">
</g:uploadForm>
Run Code Online (Sandbox Code Playgroud)

我在控制器中的saveImage操作是:

def saveImage={
def file = request.getFile('image')
        if (file && !file.empty) {
            file.transferTo(new java.io.File("image.jpg"))
            flash.message = 'Image uploaded'
            redirect(action: 'uploadImage')
        }
}
Run Code Online (Sandbox Code Playgroud)

在这个代码,如果我上传一些其他文件,如文本文件,它会抛出Exception.因为我想检查文件扩展名,我想使用If循环,确保上传的文件是图像文件或不.但我不知道如何找到grails中的文件扩展名.

还有其他方法可以在grails应用程序中上传图像.它只能接受图像文件.

谁能提供帮助?

谢谢.

小智 7

我不知道以下答案是找到文件扩展名的正确方法.我也是新手.但这个答案是有效的

使用file.getOriginalFilename()方法.它返回一个像"test.jpg"这样的字符串.然后用"."将tokenize方法拆分文件.然后从分割列表中取出最后一个字符串元素.这是文件的扩展名现在你可以完成剩余的过程.