以下代码在本地 IIS 上工作正常,但部署的视频不再流式传输(它们被下载然后播放)。看起来是服务器配置或项目配置问题。任何人都可以帮助或指导我吗?
try
{
ScreenDefinition sd = handler.Get();
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
if (Format == "Ogg")
{
Response.ContentType = "video/ogg";
Response.AddHeader("Content-Length", sd.Ogg.Length.ToString());
Response.AddHeader("Content-Disposition", "attachment; filename=video.ogg");
Response.OutputStream.Write(sd.Ogg.ToArray(), 0, sd.Ogg.Length);
}
else {
Response.ContentType = "video/mp4";
Response.AddHeader("Content-Length", sd.WhatCanKADoScreenMp4.Length.ToString());
Response.AddHeader("Content-Disposition", "attachment; filename=video.mp4");
Response.OutputStream.Write(sd.Mp4.ToArray(), 0, sd.Mp4.Length);
}
Response.End();
}
catch
{
//videos streaming was canceled by user
//log it
}
查看代码:
<video width="400" height="300" controls="controls" autoplay="autoplay" style="margin-left: 270px; margin-bottom: 5px;">
<source src="@Url.Action("GetVideoStream", new { Format = "Mp4" })" type="video/mp4">
<source src="@Url.Action("GetVideoStream", new { Format = "Ogg" })" type="video/ogg">
Your browser does not support the video tag.
</video>