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 アプリでビン データを返す必要がある場合 -return cStringIO.StringIO(file['bin'])
画像をデータベースに保存する必要がありますか? イメージをファイルシステムに書き込み、そのパスを DB に保存します。(お客様のケースによってはご対応できない場合もございます。)
どうしても必要な場合は、こちらをご覧ください。
pysqliteが現在標準のPythonライブラリでデフォルトになっているsqlite3と同じかどうかはわかりません。ただし、sqlite3を使用する場合は、画像をbuffer
オブジェクトに保存し、それをblob
sqliteのフィールドに保存できます。ただし、次の点に注意してください。
生の型をデータベースに記録することは決して良い考えではありません。ファイルをファイルシステムに保存して、そのパスをデータベースに記録するだけではいけませんか?