flash不能訪問本地資源

2021-06-01 06:14:00 字數 1320 閱讀 8775

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...