我正在使用Flex 4 Air(sdk 4.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"
...我必须修剪数据ByteArray 3-5个字节以获得有效的图像。
线索?
答案 0 :(得分:0)