如何使用Flask send_file()函数发送大型视频文件

时间:2019-05-31 12:56:32

标签: video flask file-transfer

我想使用Slack send_file()API发送大型视频文件。但是,发送的文件长度与原始文件不匹配。它的大小总是少几百个字节。不知道我在想什么。 任何帮助表示赞赏。

服务器程序是基于Flask + python3环境编写的。 这是我尝试过的代码片段:

@app.route('/download_file')
def download_file():
  try:
    f = request.files['file']
    print("File name :", f.filename)
    path = "/home/juno/app_server/" + f.filename
    print ("Path = " + path)
    file_size =  os.path.getsize(f.filename)
    print("File size :", file_size)

    return send_file(path, attachment_filename=f.filename, as_attachment=True)
  except BaseException as e:
     print (e)
     return("<h1>Exception: Download operation failed</h1>")

原始文件大小:176331761

原始文件信息:

从'160409_A_015.mp4'输入#0,mov,mp4,m4a,3gp,3g2,mj2:   元数据:     major_brand:mp42     minor_version:0     兼容品牌:mp42mp41     creation_time:2017-06-23 18:12:28   持续时间:00:00:38.10,开始:0.000000,比特率:37020 kb / s     流#0:0(eng):视频:h264(主)(avc1 / 0x31637661),yuv420p(tv,bt709),1920x1080,37015 kb / s,29.97 fps,29.97 tbr,30k tbn,59.94 tbc(默认)     元数据:       creation_time:2017-06-23 18:12:29       handler_name:别名数据处理程序       编码器:AVC编码

=====================================

发送的文件大小:176332165

发送的文件信息:

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1f67340]格式mov,mp4,m4a,3gp,3g2,mj2仅以低分1检出。 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1f67340]找不到moov原子 s3.mp4:处理输入时发现无效数据

0 个答案:

没有答案