繁体   English   中英

pysqlite - 如何保存图像

[英]pysqlite - how to save images

我需要在python中将图像文件保存到sqlite数据库中。 我找不到解决方案。 我该怎么做?

提前致谢。

write - cursor.execute('insert into File (id, name, bin) values (?,?,?)', (id, name, sqlite3.Binary(file.read())))

read - file = cursor.execute('select bin from File where id=?', (id,)).fetchone()

如果你需要在web应用程序中返回bin数据 - return cStringIO.StringIO(file['bin'])

是否必须将图像存储在数据库中? 我会将图像写入文件系统并将其路径存储在数据库中。 (您可能无法执行此操作,具体取决于您的具体情况。)

如果你绝对必须,请看这里

我不确定pysqlite是否与sqlite3相同,sqlite3目前是标准python库中的默认值。 但是如果使用sqlite3,则可以将图像存储在buffer 对象中 ,并将其存储在sqlite的blob字段中。 但请注意以下事项:

  • 一些人不赞成将图像存储在数据库中,另一种可能性是在数据库中存储文件和路径。
  • 确保你返回适当的mime类型

在数据库中记录原始类型绝不是一个好主意。 你不能只将文件保存在文件系统上,并在数据库中记录它的路径吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM