Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 烧瓶外部的参考介质文件_Python_Html_Flask_Video - Fatal编程技术网

Python 烧瓶外部的参考介质文件

Python 烧瓶外部的参考介质文件,python,html,flask,video,Python,Html,Flask,Video,使用烧瓶。我制作了一个内部文件浏览器/媒体播放器。这仅适用于本地网络,以便所有访问该页面的人都可以访问这些文件。 然而,我正在处理1000多个位置中的1000多个文件。是否可以在html视频播放器或本地img src中获取文件源。源文件无法移动,因此无法转到静态文件夹等。。。 像这样 <video src="{{ clip }}" autoplay controls></video> 当clip是文件路径/projects/project\u 234/video/v

使用烧瓶。我制作了一个内部文件浏览器/媒体播放器。这仅适用于本地网络,以便所有访问该页面的人都可以访问这些文件。 然而,我正在处理1000多个位置中的1000多个文件。是否可以在html视频播放器或本地img src中获取文件源。源文件无法移动,因此无法转到静态文件夹等。。。 像这样

<video src="{{ clip }}" autoplay controls></video>

当clip是文件路径/projects/project\u 234/video/video\u file.mov时

我有所有需要的变量,只是不能让文件播放

编辑01

我注意到mov文件不能在chrome-only mp4中播放

@app.route('/projects/<project>/<clip>', methods=['GET'])
def project_page_clip(project, clip):
    file_path = request.args.get('file_path')
    file_location = file_path
    file_name = '90Sec_Approval.mp4'
    if file_name:
        return send_from_directory(file_location,file_name)
    return render_template("project_selected_clip.html", file_path=file_path,
                           title=project, project=project, clip=clip)

@app.route('/projects/',methods=['GET'])
def项目页面剪辑(项目,剪辑):
file\u path=request.args.get('file\u path')
文件位置=文件路径
文件名='90Sec\u Approval.mp4'
如果文件名为:
从目录返回发送目录(文件位置、文件名)
返回渲染模板(“project\u selected\u clip.html”,file\u path=file\u path,
标题=项目,项目=项目,剪辑=剪辑)
因此,当在上一页上单击时,这只会在浏览器上打开剪辑,而不会呈现project_selected_clip.html模板


我怎样才能让它使用return-send-from-directory作为页面上的src呢?

经过深思熟虑,许多弊病中最好的是为fle生成符号链接

所以在那之后。。。对我有效的是包括这一点

from Flask import send_file

top_dir = 'top/'
mid_dir = 'mid/'
more_dir = '/and/this/'
filename = 'some_photo.jpg'

@wip.route('/photo')
def photo():
    return send_file(top_dir+mid_dir+more_dir+filename)

把文件端上来

您可以在flask中创建函数/路由,从原始位置读取文件并流式传输到浏览器。对于图像可能会起作用。您可以尝试使用
src=file://
而不是
src=https://
,但是简单地放置路径是不起作用的。我已经尝试了src=file://,我希望这会是答案。但它不会加载到播放器中。但是,如果我复制并粘贴到搜索栏中,它就会播放。我该怎么做呢?furas?因此,添加这样的路由会使文件在浏览器中下载,但不会播放```@app.route('/projects/')def play_clip(filename):return send_from_directory('/path',filename)``只需要使用导入操作系统来获取所有必要的目录和文件