用于HTML5视频的ASP.NET MVC4媒体源URL

时间:2013-06-25 07:10:56

标签: c# asp.net-mvc-4

在我的ASP.NET MVC 4中,我想使用HTML5 <video>来流式传输视频。视频存储在此位置 D:\movie\test.mp4

如何将此位置作为<video>标记的来源?我试过了:

<source src="@Url.Content(@"D:\movie\test.mp4")" type="video/mp4" />

但没有工作。如果我将文件添加到我的项目中,并按照这样做,<source src="@Url.Content("~/Script/test.mp4")" type="video/mp4" />它将起作用。

将源链接到本地​​文件而不必将其放入项目中的正确方法是什么?

此外,媒体文件应该在IIS中提供吗?这是最好的做法,假设媒体的位置是从数据库中的表中提取的?

1 个答案:

答案 0 :(得分:7)

  

将源链接到本地​​文件的正确方法是什么   而不必把它放在项目中?

无法从客户端访问服务器上的任意文件。想象一下如果可能的话,会产生巨大的安全漏洞。

您只能访问属于Web应用程序的文件。如果您绝对需要访问某些任意文件,那么您需要编写一个控制器操作,将该文件传输到客户端:

public ActionResult Video()
{
    return File(@"D:\movie\test.mp4", "video/mp4");
}

然后将源标记指向此操作:

<source src="@Url.Action("Video")" type="video/mp4" />