2011-09-30 3 views
0

앱을 등록한 직후에 사용자 파일을로드하고 싶습니다.Flash에서 사용자의 파일을로드하는 방법은 무엇입니까?

fll = new FileReference();   
fll.browse([new FileFilter("Text *.txt", "*.txt")]); 

어떤 버튼을 누를 때 잘 작동하지만, 난 그냥 프레임의 코드 안에 넣어 때, 그것은 작품을 나던 :이 코드가 있습니다. 내가 어떻게 해?

답변

1

이 기능은 보안상의 이유로 사용자 상호 작용 (마우스 클릭, 키 누름 등)에서만 작동하므로 일반 프레임 스크립트에 붙여 넣을 때 작동하지 않습니다.

0
Try this code, hopefully this will work for you:  

    import flash.text.*; 
    import flash.net.FileReference; 

    var tf:TextField = new TextField(); 
    tf.width = 350 
    tf.height = 350 
    tf.multiline=true; 
    tf.border = true 
    addChild(tf); 

    var fileReference:FileReference = new FileReference(); 
    var fileFilter:FileFilter=new FileFilter("Images","*.txt"); 
    fileReference.addEventListener(Event.SELECT, onSelectFile); 
    fileReference.addEventListener(Event.COMPLETE,onFileComplete); 
    bBrowse.addEventListener(MouseEvent.MOUSE_DOWN, browseFile); 

    function onFileComplete(event:Event):void 
    { 
     tf.htmlText = "opening: "+fileReference.name+"<br>" 
     var bytes:ByteArray=fileReference.data; 
     var newtext:String=fileReference.data.readMultiByte(fileReference.data.length,"gb2312"); 
     //var newtext:String = fileReference.data.readUTFBytes(fileReference.data.length) 
     tf.appendText(newtext); 
    } 

    function browseFile(e:MouseEvent) 
    { 
     fileReference.browse([fileFilter]); 
    } 

    function onSelectFile(event:Event):void 
    { 
     fileReference.load(); 
    } 
+0

내 질문에는 아무런 관련이 없습니다. – Alena