2009-07-31 142 views
0

我的团队正在开发一个ASP .Net项目,该项目也在某些页面上使用SWF文件。 此SWF文件访问位于项目目录中资源文件夹中的COLLADA模型。 从Flex构建器IDE启动时,SWF文件工作得很好。 当我尝试从Visual Studio启动封闭的aspx页面时,SWF文件被加载,但是无法从资源文件夹访问任何资源。SWF文件无法从ASP中访问资源文件夹。 net

什么可能导致此问题?这是否与安全有关?

在此先感谢。

回答

0

如果资源文件夹位于其中一个“受保护的”ASP.Net文件夹(所有“App_ *”文件夹)中,则只能通过后端ASP.Net代码访问它们。

另一种可能性是SWF和.aspx页面位于服务器上的不同文件夹中 - 这可能会使Flash尝试从中加载外部资产的位置复杂化。

我总是通过在我的Flash包含代码中设置“base”参数来解决这个问题。从Adobe Docs

基地 - 。或[基本目录]或[URL]。指定用于解析Flash Player影片中的所有相对路径语句的基本目录或URL。当您的Flash Player电影保存在与其他文件不同的目录中时,此属性很有用。

随着SWFObject的,这是可以做到像这样:

var params = {base:'/path/'}; 
var flashvars = {}; 
var attributes = {}; 

swfobject.embedSWF('flashFile.swf', 'id', 250, 250, '9.0.0', false, flashvars, params, attributes);