首页 > 解决方案 > ASP.NET MVC 不提供 MP3 文件

问题描述

我正在尝试在网站上播放 mp3 文件作为背景音乐。为了提供它,我在 Content 中创建了一个名为 mp3 的文件夹并将文件添加到其中。我使用的 html 看起来像

<audio loop="loop" autoplay="autoplay">
  <source src="/mp3/myfile.mp3" type="audio/mp3" />
</audio>

浏览器返回 404 是的。我验证了文件的名称是正确的,甚至将其重命名为“a.mp3”以确保那里没有发生任何有趣的事情。

如果我选择在新选项卡中打开,我也会得到 404。(即 mydomain.com/mp3/a.mp3 给出 404)

作为一个实验,我在 mp3 文件夹中放置了一个 js 文件.. (mydomain,com/mp3/test.js) 并将它提供到一个新选项卡中没有问题。还在文件夹 (mydomain.com/mp3/pic.png) 中放置了一个 png 文件,并且没有问题。将其复制到另一个正在使用的文件夹(如 js 或 css)会得到相同的结果。我可以提供文件夹中的 js 或 css 文件,但如果我尝试检索 mp3 文件,则会得到 404。

FF 和 Chrome 的结果相同,因此它不是特定于浏览器的。

似乎有什么特别导致它拒绝提供 mp3 文件。

顺便说一句,我还在 Windows 桌面上打开了文件,它们在 WMP 中播放没有问题,所以文件没有问题。

标签: asp.net-mvcmp3html5-audio

解决方案


我终于弄清楚了问题所在。我意识到尽管 MVC 处理程序有一个静态文件映射,但任何请求仍将通过 ASP.NET MVC 路由器。

原来我定义了一个自定义路由,出于安全原因,它锁定了它将提供的文件类型,而 mp3 不是其中之一。


推荐阅读