pysqlite - как сохранить образы

Я должен сохранить файл изображения в sqlite базу данных в Python. Я не мог найти решение. Как я могу сделать это?

Заранее спасибо.

7
задан Mustafa Zengin 22 July 2010 в 14:29
поделиться

4 ответа

write - cursor.execute ('вставить в файл (id, name, bin) values ​​(?,?,?) ', (id, name, sqlite3.Binary (file.read ())))

читать - file = cursor.execute ('выберите корзину из файла, где id =?', (id,)). fetchone ()

, если вам нужно вернуть данные корзины в веб-приложении - return cStringIO.StringIO (file ['bin'])

9
ответ дан 6 December 2019 в 15:17
поделиться

Вы должны хранить изображение в базе данных? Я бы записал изображение в файловую систему и сохранил его путь в БД. (Вы можете не делать этого, в зависимости от вашего конкретного случая.)

Если вам обязательно нужно, посмотрите здесь.

3
ответ дан 6 December 2019 в 15:17
поделиться

Я не уверен, что pysqlite - это то же самое, что sqlite3, который в настоящее время по умолчанию входит в стандартную библиотеку python. Но если вы используете sqlite3, вы можете хранить изображение в buffer object и хранить его в blob поле в sqlite. Однако помните о следующем:

  • хранение изображений в базе данных не одобряется некоторыми, хранение файлов и путей в базе данных - это другая возможность.
  • убедитесь, что вы возвращаете правильный тип mime
2
ответ дан 6 December 2019 в 15:17
поделиться

Никогда не стоит записывать необработанные типы в базы данных. Разве вы не можете просто сохранить файл в файловой системе и записать путь к нему в базе данных?

0
ответ дан 6 December 2019 в 15:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: