我在数据库中保存了一个文件,想在浏览器中播放它。视频文件的数据保存在大二进制列中。这是我在检索视频后尝试粘贴视频的部分:
@app.route('/play/')
def friends():
file_data = Videos.query.filter_by(id=1).first()
a = send_file(file_data.data, attachment_filename='video.mkv')
return render_template('seprate_ep.html', video=a)
在 HTML 文件中,我只是引用了您通常想要的视频:
<video src="{{ video }}"></video>
我怎样才能让它工作?
我遇到了类似的问题并设计了以下解决方案。在进行了广泛的研究之后,我无法确定将二进制数据直接传输到HTML的直接方法。因此,我选择了一种简单的方法,将视频存储在本地,然后将文件路径传递给模板。
在 Python 中,使用 Flask Web 框架,您可以按如下方式实现此解决方案:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
# Assume Videos schema has file path in them
file_data = Videos.query.filter_by(id=1).first()
video_path = file_data.path
return render_template('index.html', video_path=video_path)
if __name__ == '__main__':
app.run()