Проблема заключается в выводе фото на странице html(когда я открываю локал сервер flask, изображение выводится, но на странице html не выводится),
код с flask:
from flask import Flask, render_template, send_file
import sqlite3
import io
app = Flask(__name__)
# Функция для подключения к базе данных и получения изображения
def get_image_from_db():
conn = sqlite3.connect('photos.db')
cursor = conn.cursor()
cursor.execute('SELECT photo FROM photos')
photo_data = cursor.fetchone()
conn.close()
return photo_data[0] if photo_data else None
@app.route('/')
def index():
# Получаем изображение из базы данных
photo_data = get_image_from_db()
return render_template('index.html', photo_data=photo_data)
@app.route('/photo')
def photo():
# Получаем изображение из базы данных
photo_data = get_image_from_db()
if photo_data:
# Отправляем изображение как файл
return send_file(io.BytesIO(photo_data), mimetype='image/jpeg')
else:
return 'No photo available'
if __name__ == '__main__':
app.run(debug=True)
код html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Photo Viewer</title>
</head>
<body>
<h1>Photo Viewer</h1>
{% if encoded_image %}
<img src="data:image/jpeg;base64,{{ encoded_image }}" alt="Photo">
{% else %}
<p>No photo available</p>
{% endif %}
</body>
</html>