我需要将图像文件保存到 python 中的 sqlite 数据库中。我找不到解决方案。我该怎么做?
提前致谢。
写——cursor.execute('insert into File
(id, name, bin) values (?,?,?)', (id, name, sqlite3.Binary(file.read())))
阅读-file = cursor.execute('select bin from File where id=?', (id,)).fetchone()
如果您需要在 Web 应用程序中返回 bin 数据 -return cStringIO.StringIO(file['bin'])
您必须将图像存储在数据库中吗?我会将图像写入文件系统并将其路径存储在数据库中。(您可能无法执行此操作,具体取决于您的具体情况。)
如果您绝对必须,请看这里。
我不确定 pysqlite 是否与 sqlite3 相同,后者目前在标准 python 库中是默认的。但是,如果您使用 sqlite3,您可以将图像存储在一个buffer
对象blob
中,并将其存储在 sqlite的一个字段中。但请注意以下事项:
在数据库中记录原始类型绝不是一个好主意。你不能把文件保存在文件系统上,然后在数据库中记录它的路径吗?