pysqlite - comment faire pour enregistrer des images
J'ai besoin d'enregistrer un fichier d'image dans la base de données sqlite en python. Je ne pouvais pas trouver une solution. Comment puis-je le faire?
Merci d'avance.
Vous devez vous connecter pour publier un commentaire.
écrire -
cursor.execute('insert into File
(id, name, bin) values (?,?,?)', (id, name, sqlite3.Binary(file.read())))
lire -
file = cursor.execute('select bin from File where id=?', (id,)).fetchone()
si vous avez besoin de retourner bin données dans l'application web -
return cStringIO.StringIO(file['bin'])
Ne vous ont pour stocker l'image dans la base de données? Je voudrais écrire l'image du système de fichiers et les stocker son chemin dans la DB. (Vous ne pouvez pas être en mesure de le faire, selon votre cas particulier.)
Si vous devez absolument, regardez ici.
Je ne suis pas sûr si pysqlite est le même que sqlite3, qui est actuellement défaut dans la bibliothèque standard de python. Mais si vous utilisez sqlite3 vous pouvez stocker l'image dans un
buffer
objet et la stocker dans unblob
champ dans sqlite.Être au courant de la suite si:
Il n'est jamais une bonne idée d'enregistrer raw types de bases de données. Ne pourriez-vous enregistrer le fichier sur le système de fichiers, et d'enregistrer le chemin d'accès dans la base de données?