【发布时间】:2019-01-04 22:45:04
【问题描述】:
您好,我是 Grails 和 PostgreSQL 的新手。我正在尝试制作一个存储用户数据的表单,并且我希望能够上传多张照片。
服务:
Cars carInstance = new Cars()
carInstance.carimg = params.carimg.getBytes()
gsp:
<input type="file" id="carimg" name="carimg" multiple />
我在控制器中调用saveCar 操作来保存用户将输入的所有数据。
我想以这种方式在showCar gsp 中显示带有图像的数据:
<img src="${createLink(controller: 'garage', action: 'getImage', params: ['id': Cars.id])}"/>
获取图像并将其传递给 gsp 的 getImage 操作是这样的:
def getImage(){
def item = Cars.get(params.id.toLong())
byte[] imageInByte=item.carimg
response.contentType = 'image/png'
response.outputStream << imageInByte
response.outputStream.flush() }
在 gsp 中,它显示为一个空白边框,左上角有一个图像,这意味着可能找不到图像。 如果我将二进制数据转换为字符串,它会显示正确的照片名称。 有什么建议?问题在于我存储图像的方式或尝试将二进制数据显示到图像的方式?
【问题讨论】:
标签: postgresql grails groovy gsp