- 前台页面上传图片的的GSP页面:
- <g:form action="save" method="post"
enctype="multipart/form-data">//上传文件需要把form表单的enctype
属性设置为multipart/form-data
- <div> <input type="file" id
- 前台页面上传图片的的GSP页面:
- <g:form action="save" method="post"
enctype="multipart/form-data">//上传文件需要把form表单的enctype
属性设置为multipart/form-data
- <div> <input type="file"
id="projectLogoPath"
name="projectLogoPath"value="${fieldValue(bean:projectInstance,field:‘projectLogoPath‘)}"
/>//上传图片的表单控件
- </div>
<fieldset class="buttons">
-
<g:submitButton name="create" class="save"
value="${message(code: ‘default.button.create.label‘,
default: ‘Create‘)}" />
- </fieldset>
- </g:form>
- ="projectLogoPath"
name="projectLogoPath"value="${fieldValue(bean:projectInstance,field:‘projectLogoPath‘)}"
/>//上传图片的表单控件
- </div>
<fieldset class="buttons">
-
<g:submitButton name="create" class="save"
value="${message(code: ‘default.button.create.label‘,
default: ‘Create‘)}" />
- </fieldset>
- </g:form>
- Cottroller 中的方法:
- def uploadImage(){//上傳圖片到本地文件夾中
- def fileName
- def filePath
- def f = request.getFile(‘projectLogoPath‘)//获取前台页面表单控//中的文件名称
- if(!f.empty) {
- Date
d=new Date();
- String
dateString= d.format("yyyy-mm-dd-hh-ss")
- String
fileProName=f.getOriginalFilename()
- String extension = fileProName.split(‘\\.‘)[-1]//截取获取文
- //件名的后缀
-
fileName=dateString+"."+extension
-
filePath="web-app/images/"
- f.transferTo(new
File(filePath+fileName))
- }
- return
filename //返回文件名称
- }
- Product domain类中存储的是图片的相对路径:
- def save() {
- User user=SpringSecurityService.currentUser//获取当前用户名
- def productInstance
= new Product(params)
- productInstance.state=0;
- String pictureUrl=uploadImage()//调用上传图片的方法,返回一个储//存图片的路径。
-
productInstance.pictureUrl=pictureUrl//存储图片路径
- if
(!productInstance.save(flush:
true)) {
- render(view:
"create", model: [productInstance: productInstance])
-
return
- }
- ProductSet p=new
ProductSet()//在用户保存商品信息的时候将用户和商品关联起来
- p.user=user
- p.product=productInstance
- p.save();
- flash.message
= message(code: ‘default.created.message‘, args: [
- message(code:
‘product.label‘, default: ‘Product‘),
-
productInstance.id
- ])
- redirect(action: "list", id:
productInstance.id)
- }
- 前台页面显示显示图片方式:
- <img
- src="<%=request.getContextPath()%>/images/${productInstance.pictureUrl}"
alt="Grails" style="height:100px;width:
150px;"/>
Grails 项目中处理图片上传,下面是单个的文件上传 Example,布布扣,bubuko.com
Grails 项目中处理图片上传,下面是单个的文件上传 Example
原文:http://www.cnblogs.com/sm-myworks/p/3662561.html