我需要在python中将图像文件保存到sqlite数据库中。我找不到解决方案。我该怎么办?
提前致谢。
答案 0 :(得分:8)
撰写 - 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()
如果您需要在网络应用中返回bin数据 - return cStringIO.StringIO(file['bin'])
答案 1 :(得分:3)
你有将图像存储在数据库中吗?我会将图像写入文件系统并将其路径存储在数据库中。 (您可能无法执行此操作,具体取决于您的具体情况。)
如果绝对必须,请查看here。
答案 2 :(得分:2)
我不确定pysqlite是否与sqlite3相同,sqlite3目前是标准python库中的默认值。但是如果您使用sqlite3,则可以将图像存储在buffer
object中,并将其存储在sqlite的blob
字段中。
但请注意以下事项:
答案 3 :(得分:0)
在数据库中记录原始类型绝不是一个好主意。你难道不能将文件保存在文件系统上,并在数据库中记录它的路径吗?