flask minio ios下载视频无法播放

代码:

app.route('/download/<bucket_name>/<file_id>')
def download(bucket_name,file_id):
    params = request.json or request.args
    response = download_file(bucket_name,
                             file_id,
                             offset=params.get("offset"),
                             length=params.get("length"),
                             version_id=params.get("version_id"),
                             request_headers=request.headers
                             )
    if response:
        data = response.data
        def send_chunk(stream,chunk=2048):
            step = int(len(stream)/chunk)+1
            for i in range(step):
                start = i*chunk
                data = stream[start:start+chunk]
                if not data:
                    break
                yield data
        excluded_headers = ['content-encoding', 'content-length', 'transfer-encoding', 'connection']
        headers = [(name, value) for (name, value) in dict(response.headers).items() if name.lower() not in excluded_headers]
        return Response(stream_with_context(send_chunk(data)),
                        headers=headers
                        )
    return Response("Not Found",404)

必须将minio响应的headers放入flask的response中,app端才可正常打开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
07-04
minios目前已经完成的功能:<br>bootsector<br>进入保护模式<br>内存分配模块<br>简单的线程调度模块<br>信号量<br>时钟<br>统一的设备驱动模型<br>标准输入输出设备驱动<br>内存及字符串相关的标准C库函数<br><br><br>附件codes.zip的目录结构如下:<br>codes<br>|-relocate 连接程序的源代码,将bootsector和minios连接成一个可启动的磁盘镜像<br>|-bootsector bootsector的源代码<br>|-minios minios的源代码<br>|-bin 所有的目标都在此目录中。其中minios.vhd就是可启动的磁盘镜像<br><br>如何启动minios:<br>你必须安装Microsoft的Virtual PC 2007<br>你可以在微软的官方网站下载他的安装程序,程序大小约30M<br>http://download.microsoft.com/download/8/5/6/856bfc39-fa48-4315-a2b3-e6697a54ca88/32%20BIT/setup.exe<br>安装完成后就可以双击codes/bin/vm.vmc运行minios了<br><br>如何编译minios:<br>编译minios共需要三种编译器。<br>codes/bootsector/bootsector.asm必须用nasm进行编译,将编译的结果命名为bootsector并且拷贝到codes/bin<br>codes/minios/platform/platform.asm必须用masm32进行编译,编译的结果在codes/minios/platform/platform.obj<br>其余的代码都用vc6编译即可,vc6的工程在codes/minios/minios.dsw<br>如果你手边没有nasm和masm32,不要紧,因为这两个文件一般不需要改动,直接用我编译好的目标文件就可以了<br><br>双击minios.dsw打开vc6,点击菜单Project->Project Setting->Debug,修改Executable for debug session一栏<br>将Virtual PC.exe的完整路径填入。如果你安装在默认的路径下,就不需要修改它。<br>然后直接Ctrl-F5运行就可以编译并且运行了。<br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值