2013-09-06 2 views
0

내 PC에서 플래시 as3의 스테이지로 이미지를로드하려고합니다. 당신이 파일을 검색 한 후 잘 작동하지만 여기에 전체 이벤트가 발생하지 파일 찾아보기 코드를파일 참조가 as3에서 작동하지 않습니다.

btneditimage.addEventListener(MouseEvent.CLICK, btneditimage_click); 
var fileRef:FileReference = new FileReference(); 
function btneditimage_click(evt:MouseEvent) 
{ 
var imageTypes:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png"); 
var allTypes:Array = new Array(imageTypes); 
fileRef.browse(allTypes) 

fileRef.addEventListener(Event.COMPLETE, image_loadComplete); 

} 

function image_loadComplete(event:Event):void 
{ 

    trace("Ok I am fired"); 


    }

답변

2

을, 당신은 load()를 호출 한 후로드 된 내용을 분석해야합니다.

... 
fileRef.addEventListener(Event.SELECT,selected); 
fileRef.browse(allTypes); 
function selected(e:Event):void { 
    var fr:FileReference=e.target as FileReference; 
    if (!fr) return; 
    fr.removeEventListener(Event.SELECT,selected); 
    fr.addEventListener(Event.COMPLETE,image_loadComplete); 
    fr.load(); 
} 
+0

당신은 공유 코드가 가장 도움이 될 수있는 모든 참조 링크도 감사하겠습니다. – DevelopmentBucket

+0

좀 가져와. 이 설명서 (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html#browse() 참조) – Vesper

1

.browse 메서드를 호출하면 Event.SELECT 또는 Event.CANCEL이 표시됩니다. 그 후 FileReference에 의해 file()을로드해야합니다. 그 후에야 Event.COMPLETE를 얻을 수 있습니다.

관련 문제