gpt4 book ai didi

grails - 无法上传照片Grails

转载 作者:行者123 更新时间:2023-12-02 15:10:35 25 4
gpt4 key购买 nike

我正在关注《 Grails in Action》。 5.5节是如何将照片上传到用户个人资料的示例。没什么复杂的:


class Profile {
static belongsTo = User

byte[] photo
String fullName
String bio
String homepage
String email
String timezone
String country
String jabberAddress

String toString() {
"Perfil para ${fullName} (${id})"
}

static constraints = {
fullName(nullable: true)
bio(nullable: true, maxSize: 1000)
homepage(nullable: true, url: true)
email(nullable: true, email: true)
photo(nullable: true)
country(nullable:true)
timezone(nullable: true)
jabberAddress(nullable: true, email: true)
}

}

使用源代码中的Profile和ImageController代码,尝试上传照片(大小小于10kb)时出现此错误:

列“PHOTO BINARY(255)”的值太长

我尝试了各种方法来更改列定义以接受更大的byte [],包括:

1)在配置文件约束中,将maxSize设置为:1024 * 200
2)在个人资料映射中,设置照片类型:“byte []”,长度:1024 * 200

在映射中,我尝试了type | sqlType:byte | byte [] | blob | binary的各种组合,但是值太长(对于byte [])或其他类型(例如blob):

[B不能强制转换为java.sql.Blob

请指教。谢谢!

最佳答案

进行avatar image uploader测试时,这对我也不起作用。
我尝试了所有静态映射和其他答案,但无济于事。吸引我的是
@Transactional(readOnly = true)
(自动生成的) Controller 顶部的行。将其设置为false可解决此问题。

将临时failOnError:true放入save方法是发现这些问题的快速技巧。即domainObject.save(failOnError:true)
我通常会使用具有写访问权限的服务来保存该图像。

关于grails - 无法上传照片Grails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17227519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com