ASP.NET MVC - 无法加载SWF文件

3
在我的asp.net mvc网站中,我使用swfobject加载flash文件。这些文件在本地使用Visual Studio 2008服务器(F5)时可以正常工作。但是,当部署到测试服务器时,它们根本不会加载。我的路由表如下:
routes.MapRoute(
    "Default",
    "{controller}.aspx/{action}/{id}/{title}",
    new {controller = "Home", action = "Index",id = "",title=""});
routes.MapRoute(
   "Root",
   "",
   new {controller = "Home",action = "Index",id = "",title = ""});

我正在加载swf文件,代码如下:

<div id="home-container">
    <div id="flash-content" style="outline:none;position:absolute; top:0px">
        <h1>GET THE LATEST FLASH PLAYER TO VIEW THIS SITE.</h1>
        <a href="http://www.adobe.com/go/getflashplayer">
            get it now
        </a>
    </div>        
</div> 
<script type="text/javascript">
    // Embed the SWF
    var flashvars = {}; 
    var attributes = {id: "whole-grains-home", name: "whole-grains-home", style:"outline:none;"};
    var params = { allowscriptaccess: "always", menu: "false", wmode: "transparent", swliveconnect: "true" };
    var flashFile = '<%= Url.Content("~/files/flash/Homepage/R9IN03_PostH&W_Homepage.swf") %>';
    swfobject.embedSWF(flashFile, "flash-content", "990", "538", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>

我怀疑根路由有问题,但是我无法理解为什么这在本地可以工作,而在服务器上却不能。

有人有任何想法吗?

谢谢。


1
如果内容是静态可用的,则应该优先提供静态内容,这可能是IIS问题。您是否尝试直接将flashFile URL(由Url.Content在视图源中生成)加载到地址栏中,以查看是否返回任何错误? - Lazarus
我尝试过了,但没有成功。然后,我注意到我的其中一个文件是可以工作的。我随后查看了那个文件,与其他文件进行了比较,并发现那些无法工作的文件在它们的文件名中有 & 符号(就像上面的例子)。将其删除似乎解决了这个问题。 - Scott
1个回答

1
我发现我的其中一个文件无法工作。然后,我查看了那个文件,并与其他文件进行了比较,发现那些无法工作的文件在它们的文件名中有“&”(就像上面的示例一样)。
将其移除似乎已解决了这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接