MVC(.NET )下实现视频页内播放

(1)需求:实现页面内的视频播放功能。效果如下图所示:

(2)解决过程:在网上查到需要需要设置Response中headers的Content-Disposition为inline(可以页面打开文件)。:这个Content-Disposition一共有两个值,另外一个是attachment,效果是打开下载框下载文件。

在本次解决需求过程中,由于之前已经有写好的方法,本来想着只需要将Content-Disposition设置为inline就可以了,但是这个属性却一直不能设置成功。后来尝试了各种方法,虽然Content-Disposition属性设置成功了,结果还是下载,或者不能页内播放。后来在各种胡乱尝试的过程中,终于实现了。

(3)结果总结:之前说过,是在原有的方法上改的,原有的方法中用的是图中下面的那个接口:File(byte[] fileContents, string contentType, string fileDownloadName); 其中第三个参数含义是下载文件的名称。之前各种尝试不能实现页内播放,原因就是这个这个方法是专门用来下载使用的。

后来在偶然的情况下,我输入的fileDownloadName为空,结果实现了页内播放,这是因为改接口有另外一个重载方法,就是图中上面那个接口File(byte[] fileContents, string contentType);在fileDownloadName为空的情况下,自动调用File(byte[] fileContents, string contentType),之后再单独调用这个接口的情况下,效果是一样的。

总而言之,使用File(byte[] fileContents, string contentType)实现页内播放。

(4)备注:在本文中fileContents 是读取后台视频生成MemoryStream,按照以下步骤转换 

byte[] fileByte = new byte[fileMemoryStream.Length];
fileMemoryStream.Read(fileByte, 0, fileByte.Length);
fileMemoryStream.Flush();
fileMemoryStream.Close();

contentType 是传输文件的类型,本文设置为"video/mp4"。

另:本文的需求也可以通过文件流实现,如下图所示的接口,两个接口的区别应该是和本文介绍的一样

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值