【问题标题】:Trying to create a Blob Object for a (txt) file to insert into a database尝试为 (txt) 文件创建 Blob 对象以插入数据库
【发布时间】:2012-04-02 20:54:32
【问题描述】:

我应该遵循以下一些步骤: 很高兴知道我哪里出错了 1.在域类中创建一个 Blob 引用(代表上传的文件

java.sql.Blob userfile;//blob reference
  1. 在控制器中使用 SerialBlob 创建 blob 对象 在控制器中。

    (fullref).userfile =new SerialBlob([我不知道在这里传递什么]);

  2. 然后我想在 blob 对象上调用 setBinaryStream 方法,并应发送返回的输出流以保存在数据库中。

请帮忙!!提前谢谢大家。

【问题讨论】:

  • 对于文本文件,您需要一个 Clob(字符大对象),而不是 Blob(二进制大对象)。

标签: java grails blob


【解决方案1】:

你不需要使用java.sql.Blob,你可以简单地使用一个字节数组。

映射字段的类型来自您的 maxSize 约束。

class ExampleDomain {
    ...
    byte[] userfile

    static constraints = {
        ...
        userfile maxSize: 10000000
    }
}

上面的例子在 MySQL 中生成了一个mediumblob 类型的字段。

如果您选择更大的 maxSize 约束,将使用其他 blob 类型。

现在您可以像这样创建ExampleDomain 的实例:

def example = new ExampleDomain(userfile: yourFile.bytes,....)    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-13
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-29
    相关资源
    最近更新 更多