zoukankan      html  css  js  c++  java
  • 如何在 asp.net core 中配合响应 html5 的音视频播放流,以及文件下载

    问题描述:

    目前测试了在 Windows(谷歌浏览器)、Android(系统浏览器、QQ、微信)、iOS 三个系统不同浏览器中

    对 html 5 页面 audio、video 标签的文件流输出

    Windows(谷歌浏览器)支持最宽泛,只要保证是正确的文件流,基本都可以正常播放

    Android(系统浏览器)也是一样,基本都支持,但 QQ 和 微信,对音乐是都可以支持,对视频,必须可以支持按请求的范围返回数据(即第一个请求响应为 HTTP 206)

    iOS 在以上的要求基础上,要求返回的 content-type 必须正确才可以。

    所以无论从服务器流量考虑,还是从最佳兼容性考虑,服务器对音视频流的返回,最好都支持 HTTP 206 按请求范围返回。

    解决方案:

    1、如果文件是由 iis 直接返回是没有问题的,iis 会自动做支持;

    2、但很多情况下,考虑防止资源的盗链,可能需要由程序中转输出。

    在 ASP.NET MVC 时,提供了 ByteRangeStreamContent 方法对结果进行返回。

    在 asp.net core 中,其实更是直接内置了对该功能的支持,在 File()、PhysicalFile() 方法中,都有一个参数为 enableRangeProcessing 的重载,直接设置 true 即可启用对按范围返回文件流的支持。

    使用带有 fileDownloadName 参数的重载,即可实现标准的文件下载响应内容。

  • 相关阅读:
    [转]ThinkCMF框架任意内容包含漏洞分析复现
    nodejs环境安装
    ffmpeg+nginx-rtmp-module
    activemq安装
    mysql审计插件
    sql优化工具SQLAdvisor的安装
    Harbor安装(docker-compose) -- 企业级Registry仓库
    在CentOS上部署kubernetes1.9.0集群
    3-基础概念(数据模型、时序 4 种类型、作业和实例)
    1-什么是 Prometheus
  • 原文地址:https://www.cnblogs.com/xwgli/p/12392449.html
Copyright © 2011-2022 走看看