チェンジセット 3181
- コミット日時:
- 2009/10/26 14:30:34 (2 年前)
- ファイル:
-
- as3/GeniusFramework/branches/2.0/app-template/libs/Genius2.swc (更新) (変更前)
- as3/GeniusFramework/branches/2.0/app-template/script/templates/FileDownloadServiceThread.as (更新) (4 diffs)
- as3/GeniusFramework/branches/2.0/app-template/script/templates/FileUploadServiceThread.as (更新) (3 diffs)
- as3/GeniusFramework/branches/2.0/app-template/script/templates/Renderer.mxml (更新) (1 diff)
- as3/GeniusFramework/branches/2.0/app-template/script/templates/URLLoaderServiceThread.as (更新) (5 diffs)
- as3/GeniusFramework/branches/2.0/app-template/script/templates/View.mxml (更新) (1 diff)
- as3/GeniusFramework/branches/2.0/src/jp/seagirl/genius/threads/FileReferenceServiceThread.as (更新) (2 diffs)
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/GeniusFramework/branches/2.0/app-template/script/templates/FileDownloadServiceThread.as
r2582 r3181 5 5 import flash.events.IOErrorEvent; 6 6 import flash.events.SecurityErrorEvent; 7 import flash.net.URLRequest;8 7 import flash.net.URLRequestMethod; 9 import flash.net.URLVariables;10 8 11 9 import jp.seagirl.genius.models.Model; … … 16 14 private var model:Model; 17 15 18 override protected function run():void 19 { 16 override public function start():void 17 { 18 model = getModel('Model') as Model; 19 20 20 var name:String = ''; 21 21 var ext:String = ''; 22 22 23 var variables:URLVariables = new URLVariables(); 24 25 var request:URLRequest = new URLRequest(); 26 request.url = ''; 23 request.url = context.config.serviceURL + '/hoge'; 27 24 request.data = variables; 28 25 request.method = URLRequestMethod.POST; … … 30 27 file.addEventListener(Event.SELECT, selectHandler); 31 28 file.download(request, name + '.' + ext); 29 } 30 31 override protected function finalize():void 32 { 33 model.isLoading = false; 32 34 } 33 35 … … 45 47 private function completeHandler(event:Event):void 46 48 { 47 file.removeEventListener(Event.COMPLETE, arguments.callee); 48 49 file.removeEventListener(Event.COMPLETE, arguments.callee); 49 50 trace('downloaded "', file.name, '" at ', new Date()); 50 51 model.lastResult = <result><status>2</status></result>; 52 model.notifyView = true; 53 model.isLoading = false; 51 model.notify('ダウンロードしました。'); 54 52 } 55 53 56 54 private function errorHandler(event:ErrorEvent):void 57 55 { 58 trace(event.text); 59 60 model.lastResult = <result><status>context.config.errorCodes.io</status></result>; 61 model.notifyView = true; 62 model.isLoading = false; 56 alert(event.text); 63 57 } 64 58 as3/GeniusFramework/branches/2.0/app-template/script/templates/FileUploadServiceThread.as
r2582 r3181 1 1 package [% package %] 2 2 { 3 import flash.events.DataEvent; 3 4 import flash.events.ErrorEvent; 4 5 import flash.events.Event; 5 import flash.events.DataEvent;6 6 import flash.events.IOErrorEvent; 7 7 import flash.events.SecurityErrorEvent; 8 import flash.net.FileFilter; 9 import flash.net.FileReference; 8 10 import flash.net.URLRequestMethod; 9 11 10 12 import jp.seagirl.genius.models.Model; 13 import jp.seagirl.genius.threads.FileReferenceServiceThread; 11 14 12 15 public class [% name %] extends FileUploadServiceThread … … 14 17 private var model:Model; 15 18 16 override p rotected function run():void19 override public function start():void 17 20 { 18 21 request.url = ''; … … 20 23 request.method = URLRequestMethod.POST; 21 24 22 file .addEventListener(Event.SELECT, selectHandler);23 file .browse([new FileFilter("Images", "*.jpg;")]);25 files.addEventListener(Event.SELECT, selectHandler); 26 files.browse([new FileFilter("Image", "*.jpg;*.jpeg;*.JPG;*.JPEG;*.gif;*.GIF;*.png;*.PNG;")]); 24 27 } 25 28 26 29 private function selectHandler(event:Event):void 27 30 { 28 file .removeEventListener(Event.SELECT, arguments.callee);31 files.removeEventListener(Event.SELECT, arguments.callee); 29 32 30 file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, completeHandler); 31 file.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); 32 file.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); 33 files.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); 34 files.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler); 35 36 for (var i:int = 0; i < files.fileList.length; i++) 37 { 38 var file:FileReference = files.fileList[i]; 39 file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, completeHandler); 40 file.upload(request); 41 } 33 42 34 43 model.isLoading = true; 35 36 file.upload(request);37 44 } 38 45 39 46 private function complete(event:DataEvent):void 40 47 { 48 var file:FileReference = event.currentTarget as FileReference; 41 49 file.removeEventListener(DataEvent.UPLOAD_COMPLETE_DATA, arguments.callee); 42 50 43 51 var result:XML = XML(event.data); 44 52 45 model.lastResult = result; 46 model.notifyView = true; 47 model.isLoading = false; 53 if (result.@status == 1) 54 { 55 trace('uploaded "', file.name, '" at ', new Date()); 56 57 model.lastResult = result; 58 model.notify('アップロードしました。'); 59 } 60 else if (result.@status == context.config.errorCodes.server) 61 { 62 model.lastResult = result; 63 alert(result.@data); 64 } 65 else 66 { 67 alert("データ形式が正しくありません。"); 68 } 48 69 } 49 70 50 71 private function errorHandler(event:ErrorEvent):void 51 72 { 52 trace(event.text); 53 54 model.lastResult = <result><status>context.config.errorCodes.io</status></result>; 55 model.notifyView = true; 56 model.isLoading = false; 73 alert(event.text); 57 74 } 58 75 as3/GeniusFramework/branches/2.0/app-template/script/templates/Renderer.mxml
r2557 r3181 3 3 xmlns:mx="http://www.adobe.com/2006/mxml" 4 4 xmlns:genius="http://seagirl.jp/genius" 5 xmlns:controllers="[% controller_package %].*"> 6 <controllers:[% name %]Delegate /> 5 xmlns:local="[% controller_package %].*" 6 > 7 <local:[% name %]Delegate /> 7 8 </mx:Canvas> as3/GeniusFramework/branches/2.0/app-template/script/templates/URLLoaderServiceThread.as
r2582 r3181 1 1 package [% package %] 2 { 3 import flash.errors.IOError; 4 2 { 5 3 import jp.seagirl.genius.threads.URLLoaderServiceThread; 6 4 import jp.seagirl.genius.models.Model; … … 12 10 private var model:Model; 13 11 14 override protected function run():void12 override protected function initialize():void 15 13 { 16 14 if (model.isLoading) … … 22 20 } 23 21 22 override protected function finalize():void 23 { 24 model.isLoading = false; 25 } 26 24 27 private function load():void 25 28 { 26 request.url = '';29 request.url = context.config.serviceURL + '/hoge'; 27 30 request.data = variables; 28 31 … … 30 33 urlLoaderThread.start(); 31 34 urlLoaderThread.join(); 32 33 error(IOError, handleError);34 error(SecurityError, handleError);35 35 36 36 next(complete); … … 41 41 var result:XML = XML(urlLoaderThread.loader.data); 42 42 43 model.isLoading = false; 44 } 45 46 private function handleError(error:Error, thread:Thread):void 47 { 48 trace(error.message); 49 50 model.lastResult = <result><status>{ context.config.errorCodes.io }</status></result>; 51 model.notifyView = true; 52 model.isLoading = false; 43 // 成功 44 if (result.@status == 1) 45 { 46 model.lastResult = result; 47 } 48 // サーバーエラー 49 else if (result.@status == context.config.errorCodes.server) 50 { 51 model.lastResult = result; 52 alert(result.@data); 53 } 54 // 不正なデータ 55 else 56 { 57 alert("データ形式が正しくありません。"); 58 } 53 59 } 54 60 as3/GeniusFramework/branches/2.0/app-template/script/templates/View.mxml
r2557 r3181 2 2 <mx:Canvas 3 3 xmlns:mx="http://www.adobe.com/2006/mxml" 4 xmlns:genius="http://seagirl.jp/genius"> 4 xmlns:genius="http://seagirl.jp/genius" 5 > 5 6 </mx:Canvas> as3/GeniusFramework/branches/2.0/src/jp/seagirl/genius/threads/FileReferenceServiceThread.as
r2484 r3181 27 27 { 28 28 import flash.net.FileReference; 29 import flash.net.FileReferenceList; 29 30 import flash.net.URLRequest; 30 31 import flash.net.URLVariables; … … 46 47 */ 47 48 protected var file:FileReference = new FileReference(); 49 50 /** 51 * FileReferenceList のインスタンスです。 52 */ 53 protected var files:FileReferenceList = new FileReferenceList(); 48 54 49 55 /**

