2013-08-02 2 views
0

플래시 프로젝트에서 일부 이미지를 캐시하려고했는데 이미지가 자주 볼 수 있기 때문입니다. 문제는 항상 샌드 박스 위반 오류가 발생했습니다. 나는 로더의 인스턴스로 이미지를 가져온다.보안 샌드 박스 위배

SecurityError: Error #2123: Security sandbox violation: LoaderInfo.content: http://picapoco.local/swf/poUploader_v3.0.swf cannot access https://photos-4.dropbox.com/t/0/AADzWqfBfPvOfff1q0JaIm7Z5EaG8C1MNd-8Z1yCxaoWDg/12/189302658/jpeg/200x200/1/_/0/4/IMGP7780.JPG/yotcoll2bm4le7h/kpHeca7yyu/IMGP7780.JPG. No policy files granted access. 
at flash.display::LoaderInfo/get content() 
at picapoco.models::Picture/onCloudImageComplete() 

모든 단서는 내가 그것을 해결하는 데 도움이 :

여기
Security.loadPolicyFile("https://photos-4.dropbox.com/crossdomain.xml"); 
var loaderContext:LoaderContext = new LoaderContext(); 
loaderContext.checkPolicyFile = true; 

var newLdr:Loader = new Loader(); 
newLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, onCloudImageComplete); 
newLdr.load(new URLRequest(this.thumbUrl), loaderContext); 

는 내가 가지고있는 오류를 붙여 : 내가 아래에있는 내 소스 코드를 당신에게 보여주지?

답변

1

연결하는 crossdomain.xml 파일은 *.dropbox.com의 연결 만 허용합니다. 따라서 브라우저 기반 Flash App에서 파일에 액세스하려면 dropbox.com 도메인에서 앱을 실행해야합니다. 당신은 이론적으로 보관 용 계정하지만 난에 SWF를 업로드 할 수

:

당신은 보관 용을 위해 작동하고 dropbox.com 도메인에 SWF를 배포 할 권한이없는 것을 가정하면, 여기에 몇 가지 옵션이 있습니다 훌륭한 성과를 기대하지 마십시오. 드롭 박스는 웹 호스트만큼 반응적이지 않으므로 설계되었습니다.

"dropbox.com"도메인에서 SWF를 제공하려면 로컬 호스트 파일에서 일부 작업을 수행 할 수 있습니다. 생산 목적으로는 실용적이지 않지만 개발을 위해 작동 할 수 있습니다.

크로스 도메인 문제를 피하기 위해 앱을 데스크톱 또는 모바일 AIR 응용 프로그램으로 배포 할 수 있습니다.

서버 측 프록시를 사용하여 이미지를로드 할 수 있습니다. 앱이 프록시 서비스를 호출하면 드롭 다운 상자에서 이미지를로드하고 앱에 이미지를 반환합니다. 이것이 가장 실용적인 선택입니다.

+1

나는 마지막 옵션을 채택하고 그것은 나를 위해 작동합니다, 많이 고마워요! – Xiaoping