展开全部
用grails编程是非常的简单的:
设置domain时将字段设为byte[]型即可。
假设你的图片字段名为myphoto,则设置如下:
class Myclass {
String photoname //图片名
byte[] myphoto //图片
}
view中上传图片时的代码片断
<g:form name="uploadphoto" url="[action:'uploadphoto']" enctype="multipart/form-data">
<g:hiddenField name="id" value="${myclassInstance?.id}"/>
<input type="file" name="file1" />
<input type="submit" value="上传"/>
</g:form>
controller中保存图片的代码片断
def uploadphoto = { //上传图片
Myclass myclassInstance = Myclass.get(params.id);
if (myclassInstance){
MultipartFile file = request.getFile('file1')
if (file && !file.isEmpty()){
myclassInstance.myphoto = file.getInputStream().bytes
myclassInstance.save()
.....后继工作
}
eles {
...出错处理
}
}
else {
....出错处理
}
}
页面显示图片
def viewphotoe = { //查看、下载图片
Myclass myclassInstance = Myclass.get(params.id);
byte[] image = myclassInstance.myphoto
response.outputStream << image
}
view中显示图片的代码片断
<img src="${createLink(controller:'myclass', action:'viewphoto', id:'myclassInstance.id')}" />
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询