我在数据库中保存了一个文件,并想在浏览器中播放它。视频文件的数据保存在 LargeBinary 列中。这是我在检索视频后尝试播放视频的部分:
@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()
关于python - 使用flask可以播放数据库中保存的视频吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48129537/