< ページ移動: 1 2 >
<画像:20101208_download_test.jpg>
「FileReference.download メソッドだとダイアログが開いちゃうな」に書いたように、インターネット上から自動でデータ取ってきて、ファイルの保存まで自動で行おうとすると、URLLoader でデータ取ってきて、FileStream で書き出すしかないみたい。
こんな感じ。
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" 
    initialize="initProc()"
    layout="absolute" width="348" height="202">
    <mx:Label x="79" y="24" text="ダウンロードテスト" width="191" fontSize="18" textAlign="center" id="Title"/>
    <mx:TextArea x="39" y="60" width="266" height="113" id="Message" text=""/>
    <mx:Script>
    <![CDATA[
    import flash.events.*;  
    import flash.net.URLRequest; 
    import flash.net.URLLoader; 
public static const FILE_GET_URI:String = "http://www.exsample.jp/data/ds.zip";
    public var FileGet:URLLoader; 
    public var ZipFileName:String    = "data/cont/ds.zip";
private function initProc():void {
        FileGet = new URLLoader(); 
        FileGet.dataFormat    = URLLoaderDataFormat.BINARY; // バイナリ宣言
        FileGet.addEventListener(IOErrorEvent.IO_ERROR, onIOError); 
        FileGet.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError); 
        FileGet.addEventListener(Event.COMPLETE, onComplete); 
Message.text += FILE_GET_URI + " Download Start.\n";
        var request:URLRequest    = new URLRequest(); 
        request.url    = FILE_GET_URI;
        FileGet.load(request);
}
    private function onIOError(evt:IOErrorEvent):void {
        Message.text    += "There was an IO Error.\n";
    }
    private function onSecurityError(evt:Event):void {
        Message.text    += "There was a security error.\n";
    }
    private function onComplete(evt:Event):void {
        Message.text    += "File was successfully downloaded.\n";
        Message.text    += "SIZE=" + FileGet.bytesTotal + "\n";
        var file:File = File.applicationStorageDirectory.resolvePath(ZipFileName);
        var stream:FileStream    = new FileStream();
        try {
            stream.open(file,FileMode.WRITE);
            stream.writeBytes(FileGet.data);
    
        
< ページ移動: 1 2 >