8

Pythonで画像ファイルをsqliteデータベースに保存する必要があります。解決策が見つかりませんでした。どうすればいいですか?

前もって感謝します。

4

4 に答える 4

11

書く-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'])

于 2010-07-22T16:19:36.877 に答える
3

画像をデータベースに保存する必要がありますか? イメージをファイルシステムに書き込み、そのパスを DB に保存します。(お客様のケースによってはご対応できない場合もございます。)

どうしても必要な場合は、こちらをご覧ください。

于 2010-07-22T14:40:56.300 に答える
2

pysqliteが現在標準のPythonライブラリでデフォルトになっているsqlite3と同じかどうかはわかりません。ただし、sqlite3を使用する場合は、画像をbuffer オブジェクトに保存し、それをblobsqliteのフィールドに保存できます。ただし、次の点に注意してください。

  • データベースに画像を保存することは一部の人に嫌われていますが、データベースにファイルとパスを保存することは別の可能性です。
  • 適切なmimeタイプを返すようにしてください
于 2010-07-22T14:38:56.677 に答える
0

生の型をデータベースに記録することは決して良い考えではありません。ファイルをファイルシステムに保存して、そのパスをデータベースに記録するだけではいけませんか?

于 2010-07-22T14:39:06.727 に答える