我的 Grails 应用程序中的每个用户都有个人资料,并希望他们能够上传个人资料图片。因此我在视图中制作了一个uploadForm:
<g:img dir="tmp" file="1.jpg"/>
<g:uploadForm action="upload">
<input type="file" name="myFile" />
<input type="submit" />
</g:uploadForm>
如您所见,我只想显示用户的个人资料图片ID = 1
。
上传动作:
def upload() {
def f = request.getFile('myFile')
if (f.empty) {
flash.message = 'file cannot be empty'
render(view: 'uploadForm')
return
}
f.transferTo(new File('/tmp/'+springSecurityService.currentUser.id+'.jpg'))
flash.message = 'file in /tmp/'+springSecurityService.currentUser.id+'.jpg'
redirect action: 'edit', id: springSecurityService.currentUser.id
}
我的问题是,ID = 1
没有显示用户的个人资料图片。我检查了它是否具有正确的值(ID = 1
)。
在我的堆栈跟踪中,我有以下内容:
| 错误 resource.ResourceMeta - 找不到资源:/tmp/1.jpg
为什么找不到数据?我已将其保存在上传操作中。