我在MySQL中存储了几个blob(5.7.16,在Linux上运行)。
当我使用Matlab(2016b,MacOS,mysql-connector-java-5.1.40)检索这些blob时,某些字节已损坏,使原始blob无法使用。
attached picture包含一个示例。左边的文件是损坏的,从Matlab保存。右边是原始的,从MySQL Workbench保存。
这是我与数据库建立连接的方式:
conn = database('dbname','username','password','Vendor','MySQL','Server','localhost');
这是我进行SQL查询的方式:
curs = exec(conn, 'SELECT FileContent FROM Table WHERE Id = 1;');
......这就是我保存blob的方法:
file = fopen(filename, 'wb');
fwrite(file, curs.Data{1}, 'uint8');
答案 0 :(得分:0)
调试显示curs.Data{1}
的类型为int8
。
保存时使用
fwrite(file, curs.Data{1}, 'int8');