c# - 视频文件的 GET 请求已取消。找不到视频

标签 c# asp.net fancybox html5-video http-get

我有一个包含以下 HTML 的网络表单:

<body>
    <form id="form1" runat="server">
    <div>
        <video style="width: 100%;" controls autoplay>
            <source src="<%= this.MP4 %>" type="video/mp4">
            <source src="<%= this.OGV %>" type="video/ogg">
            <source src="<%= this.WEBM %>" type="video/webm">
        Your browser does not support the video tag.
        </video>
    </div>
    </form>
</body>

此页面在 fancybox 窗口中打开,相应的视频文件通过 url 参数 (video.aspx?video=filename) 给出,文件路径在代码隐藏。

当我在本地使用 Visual Studio 2012 尝试时,一切正常。另外,如果我像这样直接通过 URL 调用文件:http://localhost:52916/_video/filename.webm 它也能正常工作。

代码如下:

protected void Page_PreRender(object sender, EventArgs e)
{
    MP4 += Request.QueryString["video"] + ".mp4";
    OGV += Request.QueryString["video"] + ".ogv";
    WEBM += Request.QueryString["video"] + ".webm";
}

但是在实时服务器上找不到视频 (404),如果直接调用也是如此,当我检查 Chrome 控制台时,我可以看到对视频文件的所有 GET 请求都被取消了。

而且页面是在fancybox窗口打开还是我直接打开都没有区别,还是不行。我还尝试使用已填充文件的路径而不是按语法进行。

我发现有几个人似乎有同样的问题,但他们的解决方案都没有用。

最佳答案

如果它在本地工作,但不是实时的,问题很可能是实时网络服务器没有配置为提供这些文件类型。尝试将此添加到 system.webServer 条目下的 web.config 中:

<staticContent>
    <mimeMap fileExtension=".ogg" mimeType="application/ogg" />
    <mimeMap fileExtension=".oga" mimeType="audio/ogg" />
    <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
    <mimeMap fileExtension=".webm" mimeType="video/webm" />
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
</staticContent>

在某些版本的 IIS 中,未知文件扩展名(如 oggwebm)将导致 404,这就是您必须定义 mime 类型的原因。

关于c# - 视频文件的 GET 请求已取消。找不到视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21528655/

相关文章:

asp.net - 这些 WebKit ASP 之间的区别 :Menu fixes

javascript - jQuery fullCalendar + Fancybox 弹出窗口编辑事件

jquery - fancybox 不显示 div 颜色?

C# : change listbox items color

c# - 多态问题C#

python - 使用 Python mechanize 通过登录屏幕

asp.net - 在部署时编译 ASCX 文件而不是首次加载?

jquery-ui - Jquery 选项卡 - 在激活之前显示确认

c# - 在 C# : where to start? 中解析骰子表达式(例如 3d6+5)

c# - 如果没有对任务的引用,任务是否会被垃圾收集中断?