Python Flask mp4文件未使用文件路径显示在视频标签中
我有一个flask应用程序,它将mp4文件存储在本地目录中,并将路径保存在我的数据库中。我可以访问flask和download提供的文件userPython Flask mp4文件未使用文件路径显示在视频标签中,python,flask,Python,Flask,我有一个flask应用程序,它将mp4文件存储在本地目录中,并将路径保存在我的数据库中。我可以访问flask和download提供的文件usersend\u file,但当我传递到视频标签的路径时,它不会显示。见下面的代码: 保存视频文件:工作正常 @app.route('/', methods=['GET', 'POST']) def index(): form = VideoPicForm() if form.validate_on_submit():
send\u file
,但当我传递到视频标签的路径时,它不会显示。见下面的代码:
保存视频文件:工作正常
@app.route('/', methods=['GET', 'POST'])
def index():
form = VideoPicForm()
if form.validate_on_submit():
if form.vid.name not in request.files:
flash('No video part specified')
return redirect(url_for('index'))
file = request.files[form.vid.name]
if file.filename == '':
flash('No file selected for uploading')
return redirect(url_for('index'))
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
filepath = os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], filename)
file.save(filepath)
video= VideosFiles(description=form.description.data, vidpath=filepath)
db.session.add(video)
db.session.commit()
flash('video uploaded successfully...')
return redirect(url_for('index'))
return render_template('index.html', title='Home', form=form)
从模板访问:``文件未呈现``
@app.route('/display')
def display():
file_data= VideosFiles.query.filter_by(id=1).first()
video= file_data.vidpath
return render_template('display.html', title='Videos', video=video)
在模板中:
<video width="320" height="240" controls>
<source src="{{video}}" type="video/mp4" />
</video>
我丢失了导致视频无法在模板中呈现的任何内容?您的代码中有一个小改动。确保您的视频存储在flask应用程序结构的静态文件夹中 我和你有同样的问题,当我将视频存储在静态文件夹中时,它工作正常
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<video width="400" controls>
<source src="{{ url_for('static', filename='small.mp4') }}" type="video/mp4">
</video>
</body>
</html>
标题
也请使用url_进行html呈现 在这种情况下,如何将用户与静态文件夹中上载的视频文件相关联?这就是为什么我选择使用foreignkey属性将数据库中的文件路径保存到用户模型的原因。在这种情况下,您可以为每个文件分配唯一的文件值,并将该文件名与用户的引用一起存储。也可以将文件存储在静态文件中。因此,当用户请求文件时,从数据库中获取文件名,并在视频链接中提供该文件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<video width="400" controls>
<source src="{{ url_for('static', filename='small.mp4') }}" type="video/mp4">
</video>
</body>
</html>