使用SQL数据库扩展,我可以获得基本的CodenameOne字段来处理字符串和数字,但不能处理大型的二进制对象BLOBs。我按照这里的说明操作: CodenameOne支持https://www.codenameone.com/blog/connecting-to-a-mysql-database-part-2.html吗?如果是这样的话,你会怎么做?我找不到任何使用BLOB类型的示例。
我尝试过使用长字符串,使用MarianaDB,可以获得高达512K的字符串大小,但我需要存储更大的图像。
MariaDB (无)>使用tsg;数据库已更改+-+-+|字段|类型|空|键|默认|额外|+-+| id | int(10) unsigned | NO | PRI | NULL | auto_increment || player_id | int(11) | NO || NULL | tree_id | int(11)|否|| NULL | photo_type | longtext | NO || NULL ||镜像| blob |是|| NULL ||+-+-+集合中的5行(0.001秒)
当我添加没有blob的记录时,它起作用了:
m.put("playerId", "1");
m.put("treeId", "2");
m.put("photoType", "front");
m.put("image", null);
client.create(m, res -> {
System.out.println(m);
System.out.println("create result = " + res);
});输出:{treeId=2,image=null,photoType=front,playerId=1} create result = true
但是当我尝试添加blob时,它没有:
m.put("playerId", "1");
m.put("treeId", "2");
m.put("photoType", "front");
byte bytes[] = new byte[100];
m.put("image", bytes);
client.create(m, res -> {
System.out.println(m);
System.out.println("create result = " + res);
});输出:
{treeId=2,image=[B@5968c8cb,photoType=front,playerId=1}创建结果= false
帮助!我以错误的方式使用BLOB,或者CN1不支持BLOB?
唯一的错误消息来自create为false的结果。
发布于 2019-06-15 12:00:02
目前它还没有内置的支持。您可以使用MultipartRequest向服务器提交二进制数据。
https://stackoverflow.com/questions/56604925
复制相似问题