当我的 table 中有物理路径时如何在 mvc 中显示视频文件
how to show video file in mvc when i have a physical path in my table
我的数据库中有视频的物理路径 table 我如何在我的 mvc 视图中显示这些视频文件。谁能给我个主意。
这是我的服务层,我在其中获取列表中的所有值
public IEnumerable<Marketing> GetMarketingContents()
{
return fDbContext.Marketings.ToList();
}
查看模型
public class ViewModelMarketing
{
public List<Marketing> MarketVideo { get; set; }
}
这是我的控制器,我在其中过滤视频并将其传递给局部视图。
public ActionResult MarketingListVideos()
{
ViewModelMarketing viewModelMarketing = new ViewModelMarketing();
var debs = from s in iMarketingService.GetMarketingContents()
select s;
viewModelMarketing.MarketVideo = debs.Where(t => t.MarketingType.Equals("v") && t.Active != false).ToList();
return PartialView("_GetVideos", viewModelMarketing);
}
这是我名为 _GetVideos 的局部视图
@模型PreFlight.ViewModels.ViewModelMarketing
@foreach (var item in Model.MarketVideo)
{
<div class="list-group">
<div class="row">
<div class="col-md-1 col-xs-1">
<i class="glyphicon glyphicon-facetime-video" style="color: black"></i>
</div>
<div class="col-md-5 col-xs-5">
@item.Content
</div>
<div class="col-md-5 col-xs-5">
@item.Active
</div>
</div>
</div>
}
这是我渲染局部视图的主视图
@model PreFlight.ViewModels.ViewModelMarketing
<div class="panel-body">
<div class="list-group">
@Html.Action("MarketingListVideos", "Marketing")
</div>
</div>
现在我正在查看视频列表。我怎样才能将它显示为视频文件。任何人都可以帮助我得到这个。任何帮助将不胜感激。
您可以使用 HTML5 :
@foreach (var item in Model.MarketVideo)
{
<div class="list-group">
<div class="row">
<div class="col-md-1 col-xs-1">
<i class="glyphicon glyphicon-facetime-video" style="color: black"></i>
</div>
<div class="col-md-5 col-xs-5">
@item.Content
</div>
<div class="col-md-5 col-xs-5">
@item.Active
</div>
<video controls="controls">
<source src="@item.YourVideoPath" type="video/mp4" />
</video>
</div>
</div>
}
为了获得最佳实践,您应该指定正确的扩展名:
<video controls="controls">
<source src="@item.YourVideoPath" type="video/@item.VideoExtension" />
</video>
这里有一些参考:
http://www.w3schools.com/html/html5_video.asp
注意:请记住,并非所有浏览器都支持视频标签,但大部分都支持
我的数据库中有视频的物理路径 table 我如何在我的 mvc 视图中显示这些视频文件。谁能给我个主意。
这是我的服务层,我在其中获取列表中的所有值
public IEnumerable<Marketing> GetMarketingContents()
{
return fDbContext.Marketings.ToList();
}
查看模型
public class ViewModelMarketing
{
public List<Marketing> MarketVideo { get; set; }
}
这是我的控制器,我在其中过滤视频并将其传递给局部视图。
public ActionResult MarketingListVideos()
{
ViewModelMarketing viewModelMarketing = new ViewModelMarketing();
var debs = from s in iMarketingService.GetMarketingContents()
select s;
viewModelMarketing.MarketVideo = debs.Where(t => t.MarketingType.Equals("v") && t.Active != false).ToList();
return PartialView("_GetVideos", viewModelMarketing);
}
这是我名为 _GetVideos 的局部视图 @模型PreFlight.ViewModels.ViewModelMarketing
@foreach (var item in Model.MarketVideo)
{
<div class="list-group">
<div class="row">
<div class="col-md-1 col-xs-1">
<i class="glyphicon glyphicon-facetime-video" style="color: black"></i>
</div>
<div class="col-md-5 col-xs-5">
@item.Content
</div>
<div class="col-md-5 col-xs-5">
@item.Active
</div>
</div>
</div>
}
这是我渲染局部视图的主视图
@model PreFlight.ViewModels.ViewModelMarketing
<div class="panel-body">
<div class="list-group">
@Html.Action("MarketingListVideos", "Marketing")
</div>
</div>
现在我正在查看视频列表。我怎样才能将它显示为视频文件。任何人都可以帮助我得到这个。任何帮助将不胜感激。
您可以使用 HTML5 :
@foreach (var item in Model.MarketVideo)
{
<div class="list-group">
<div class="row">
<div class="col-md-1 col-xs-1">
<i class="glyphicon glyphicon-facetime-video" style="color: black"></i>
</div>
<div class="col-md-5 col-xs-5">
@item.Content
</div>
<div class="col-md-5 col-xs-5">
@item.Active
</div>
<video controls="controls">
<source src="@item.YourVideoPath" type="video/mp4" />
</video>
</div>
</div>
}
为了获得最佳实践,您应该指定正确的扩展名:
<video controls="controls">
<source src="@item.YourVideoPath" type="video/@item.VideoExtension" />
</video>
这里有一些参考:
http://www.w3schools.com/html/html5_video.asp
注意:请记住,并非所有浏览器都支持视频标签,但大部分都支持