flashplayertrust資料夾內所有檔案內的路徑下的swf檔案可以自由訪問其他資源。即「可信的本地 swf 檔案」,此方法主要在測試flash程式時使用,本地網路雙支援,缺點就是發給別人執行的時候別人也要設定一下。此外考慮到安全性,不要將專案的路徑設定的過於大範圍,因為本地網路許可權雙支援,惡意flash檔案完全可以把本地的任何的檔案傳到指定伺服器上。
對於類似的出錯資訊:
securityerror: error #2148: swf 檔案 file:///f:/work2010/tiger/rmpublisher.air/bin-debug/index.swf 不能訪問本地資源 file:///f:/work2010/tiger/rmpublisher.air/bin-debug/plugins/plugins.xml。 只有僅限於檔案系統的 swf 檔案和可信的本地 swf 檔案可以訪問本地資源。
at flash.net::urlstream/load()
at flash.net::urlloader/load()
at com.edlt.utils::settings/loadsettings()
解決方法:
第一種:
flex專案上點右鍵-->properties-->actionscriptcompiler-->additional compiler arguments
第二種:
找到windows安裝目錄下system32\macromed\flash\flashplayertrust,在這個目錄下隨便建個文字檔案,在檔案裡輸入需要訪問本地資源flash的詳細路徑,儲存。執行swf,不再出錯了。ok
如: 在c:\windows\system32\macromed\flash\flashplayertrust目錄下新增乙個檔案,比如:1.txt(文 件名可任意起),檔案內容為:「d:\demo\test\」即專案的路徑,當然也可以設定為「d:\」。需要關閉瀏覽器這種設定才會生效,因為如果瀏覽 器正在執行,flash player 已經讀取了flashplayertrust的內容,新的設定不會生效。參考 /cpsid_51814.html。
第三種:
如果讓乙個swf可被其他域訪問,使用 flash.system.security.allowdomain(),flash.system.security.allowinsecuredomain()。引數設定為「*」可以讓所有的域能夠訪問它。
第四種:
使用策略檔案:內容可以是ip,網域名稱,*。
<?xml version="1.0"?>
再使用 flash.system.security.loadpolicyfile() 讀取這個策略檔案。這種方式是最靈活,最安全的方式。
flex 報錯,不能訪問本地資源
錯誤 flex 不能訪問本地資源 出錯資訊 securityerror error 2148 swf 檔案 file f work2010 tiger rmpublisher.air bin debug index.swf 不能訪問本地資源 file f work2010 tiger rmpubli...
瀏覽器不能訪問本地資源的限制
做乙個截圖上傳的功能,想在上傳前在網頁中顯示預覽,發現做不到。原因 html,js不能直接訪問本地資源,否則存在嚴重的安全隱患。類似的還有,js不能設定input file中的值 今天了解到,這個叫做 客戶端程式語言 的同源策略 同源策略規定跨域之間的指令碼是隔離的,乙個域的指令碼不能訪問和操作另外...
本地資源訪問跨域問題
一 上傳輪播 包含檔案 新增輪播資訊 儲存檔案 file storefile new file rootpath realpath file.transferto storefile 寫入資料庫 carousel.setphotopath realpath if carousel null retu...