我使用Flex4Air(SDK4.5)和SQLite来存储blob (png文件),代码如下:
sql = "INSERT INTO pages (id, data) VALUES (:id, :data)";
sqlStatement.text = sql;
sqlStatement.parameters[":id"] = file.name;
sqlStatement.parameters[":data"] = file.data;
sqlStatement.execute(); 该表的定义如下:
CREATE TABLE "pages" ("id" varchar, "data" blob)问题是,存储的数据在数据块的开头添加了3-5个额外的字节。(如果我存储了一个1000字节的png,那么存储在blob中的数据通常会变成1004个字节--这可以通过在Flex环境之外检查SQLite文件来确认)。
当读回数据时,使用...
sql = "SELECT id, CAST(data AS ByteArray) AS data FROM pages"...I必须修剪数据ByteArray 3-5个字节才能获得有效的图像。
线索?
发布于 2011-11-12 11:14:24
https://stackoverflow.com/questions/8090065
复制相似问题