标签:c html5 asp-net asp-net-mvc html5-video
我有一个简单的MVC操作,返回指向视频的FilePathResult.出于某种原因,HTML5视频(使用js-video.js)没有播放视频.如果我将URL更改为我知道有效的URL,则视频播放正常.所以它必须与我提供文件的方式有关.
如果我浏览浏览器中的URL,视频会下载然后播放正常.
视频为.mp4,返回的MIME类型为video / mp4.
我正在使用Video Studio 2012,.NET 4,IIS 8 Express和Windows 7 x64 Home Premium.
这是我各自的代码:
[Authorize(Roles = "File_Read")]
public FileResult Get(int? id)
{
try
{
if (id == null)
throw new ArgumentNullException("id");
var fileRepo = FileRepositoryFactory.Repository;
var file = fileRepo.GetById(id.Value);
if (file == null)
throw new InvalidOperationException(String.Format("Failed to find file with id: {0}", id));
if (String.IsNullOrWhiteSpace(file.FilePath))
{
return this.File(file.Data, file.MIMEType, file.FileName);
}
else
{
return this.File(file.FilePath, file.MIMEType, file.FileName);
}
}
catch (Exception ex)
{
return this.File("failed.txt", "text/plain");
}
}
以下是Chrome返回内容的屏幕截图:
解决方法:
HTML5视频广告需要支持Range Requests.
在静态文件的情况下,此支持由服务器在内部提供,但是在ASP.NET MVC操作的情况下,它需要在ActionResult级别实现.
文章Range Requests in ASP.NET MVC – RangeFileResult详细描述了如何创建具有Range Request支持的ASP.NET MVC ActionResult.还有一个使用VideoJS的示例应用程序:VideoJS in ASP.NET MVC
标签:c,html5,asp-net,asp-net-mvc,html5-video 来源: https://codeday.me/bug/20190517/1123864.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。