【问题标题】:Insert image into cassandra blob using Java使用 Java 将图像插入 cassandra blob
【发布时间】:2017-03-08 23:44:58
【问题描述】:

我希望将图像作为字节缓冲区插入到 cassandra 表中。

表是: 员工(姓名文字,图片块)

我使用 Java 以字节缓冲区的形式将图像存储到变量 bb 中。 如何将此字节缓冲区 bb 中的数据插入到 cassandra 表中? 有人可以帮忙吗?

【问题讨论】:

  • 注意最大突变大小。并且不建议存储大于 1MB (IIRC) 的 blob。

标签: java cassandra cassandra-2.1 cassandra-jdbc


【解决方案1】:

您应该能够直接将 ByteBuffer 与 Java 驱动程序一起使用。

参见http://ac31004.blogspot.com.au/2014/03/saving-image-in-cassandra-blob-field.html上的示例:

ByteBuffer buffer =ByteBuffer.wrap(b);

....
// image is of type blob
PreparedStatement ps = session.prepare("insert into Messages (image, user, interaction_time,imagelength) values(?,?,?,?)");
BoundStatement boundStatement = new BoundStatement(ps);

session.execute(boundStatement.bind(buffer, "Andy", convertor.getTimeUUID(),length));

看到他们直接将 ByteBuffer 绑定到准备好的语句中的 blob 类型参数。

【讨论】:

  • 谢谢亚历克!我尝试了上面的链接。我正在远程位置的 Linux 服务器上工作。我收到以下错误:
  • 线程“主”com.datastax.driver.core.exceptions.NoHostAvailableException 中的异常:所有主机尝试查询失败。
猜你喜欢
  • 1970-01-01
  • 2016-10-31
  • 1970-01-01
  • 2015-11-03
  • 2021-02-17
  • 2021-11-12
  • 2014-05-05
  • 1970-01-01
相关资源
最近更新 更多