SWF文件无法从ASP中访问资源文件夹。净

时间:2009-07-31 09:26:46

标签: asp.net flash security

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

可能导致此问题的原因是什么?这是一些与安全相关的问题吗?

提前致谢。

1 个答案:

答案 0 :(得分: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);