2009-07-31 137 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);