| 69 | | */ |
|---|
| 70 | | public function FileReferenceThread(request:URLRequest, fileReference:FileReference = null) |
|---|
| | 70 | * @param updateDataFieldName アップロードの POST に使用するフィールド名。詳しくは FileReference.upload を参照してください |
|---|
| | 71 | * @param testUpload アップロードのテストをするかどうか。詳しくは FileReference.upload を参照してください |
|---|
| | 72 | * @param waitCompleteData DataEvent.UPLOAD_COMPLETE_DATA を待ってスレッドを終了するのであれば true そうでなければ false |
|---|
| | 73 | * @param doBrowse アップロードの前に browse メソッドを呼び出すのであれば true、そうでなければ false |
|---|
| | 74 | * @param typeFilter doBrowse が true の場合、拡張子フィルタ。詳しくは FileReference.browse を参照してください |
|---|
| | 75 | */ |
|---|
| | 76 | public function FileUploadThread(request:URLRequest, fileReference:FileReference = null, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false, waitCompleteData:Boolean = false, doBrowse:Boolean = true, typeFilter:Array = null) |
|---|
| 100 | | * ダイアログボックスに表示するファイルをフィルタにかける場合に使用する FileFilter インスタンスの配列です。 |
|---|
| | 114 | * アップロードの POST に使用するフィールド名。詳しくは FileReference.upload を参照してください. |
|---|
| | 115 | */ |
|---|
| | 116 | public function get uploadDataFieldName():String |
|---|
| | 117 | { |
|---|
| | 118 | return _uploadDataFieldName; |
|---|
| | 119 | } |
|---|
| | 120 | |
|---|
| | 121 | /** |
|---|
| | 122 | * @private |
|---|
| | 123 | */ |
|---|
| | 124 | public function set uploadDataFieldName(value:String):void |
|---|
| | 125 | { |
|---|
| | 126 | _uploadDataFieldName = value; |
|---|
| | 127 | } |
|---|
| | 128 | |
|---|
| | 129 | /** |
|---|
| | 130 | * アップロードのテストをするかどうか。詳しくは FileReference.upload を参照してください. |
|---|
| | 131 | */ |
|---|
| | 132 | public function get testUpload():Boolean |
|---|
| | 133 | { |
|---|
| | 134 | return _testUpload; |
|---|
| | 135 | } |
|---|
| | 136 | |
|---|
| | 137 | /** |
|---|
| | 138 | * @private |
|---|
| | 139 | */ |
|---|
| | 140 | public function set testUpload(value:Boolean):void |
|---|
| | 141 | { |
|---|
| | 142 | _testUpload = value; |
|---|
| | 143 | } |
|---|
| | 144 | |
|---|
| | 145 | /** |
|---|
| | 146 | * DataEvent.UPLOAD_COMPLETE_DATA を待ってスレッドを終了するのであれば true そうでなければ false を設定します. |
|---|
| | 147 | */ |
|---|
| | 148 | public function get waitCompleteData():Boolean |
|---|
| | 149 | { |
|---|
| | 150 | return _waitCompleteData; |
|---|
| | 151 | } |
|---|
| | 152 | |
|---|
| | 153 | /** |
|---|
| | 154 | * @private |
|---|
| | 155 | */ |
|---|
| | 156 | public function set waitCompleteData(value:Boolean):void |
|---|
| | 157 | { |
|---|
| | 158 | _waitCompleteData = value; |
|---|
| | 159 | } |
|---|
| | 160 | |
|---|
| | 161 | /** |
|---|
| | 162 | * アップロードの前に browse メソッドを呼び出すのであれば true、そうでなければ false を設定します. |
|---|
| | 163 | */ |
|---|
| | 164 | public function get doBrowse():Boolean |
|---|
| | 165 | { |
|---|
| | 166 | return _doBrowse; |
|---|
| | 167 | } |
|---|
| | 168 | |
|---|
| | 169 | /** |
|---|
| | 170 | * @private |
|---|
| | 171 | */ |
|---|
| | 172 | public function set doBrowse(value:Boolean):void |
|---|
| | 173 | { |
|---|
| | 174 | _doBrowse = value; |
|---|
| | 175 | } |
|---|
| | 176 | |
|---|
| | 177 | /** |
|---|
| | 178 | * doBrowse が true の場合、拡張子フィルタ。詳しくは FileReference.browse を参照してください. |
|---|
| | 216 | { |
|---|
| | 217 | // browse メソッド呼び出しが要求されている場合 |
|---|
| | 218 | if (doBrowse) { |
|---|
| | 219 | // 呼び出す |
|---|
| | 220 | browse(); |
|---|
| | 221 | } |
|---|
| | 222 | else { |
|---|
| | 223 | // そうでなければアップロード |
|---|
| | 224 | upload(); |
|---|
| | 225 | } |
|---|
| | 226 | } |
|---|
| | 227 | |
|---|
| | 228 | /** |
|---|
| | 229 | * browse メソッド呼び出し |
|---|
| | 230 | * |
|---|
| | 231 | * @private |
|---|
| | 232 | */ |
|---|
| | 233 | private function browse():void |
|---|
| | 234 | { |
|---|
| | 235 | // browse 呼び出し |
|---|
| | 236 | if (fileReference.browse(typeFilter)) { |
|---|
| | 237 | // 成功の場合イベントハンドラ設定 |
|---|
| | 238 | event(fileReference, Event.SELECT, browseSelectHandler); |
|---|
| | 239 | event(fileReference, Event.CANCEL, browseCancelHandler); |
|---|
| | 240 | } |
|---|
| | 241 | else { |
|---|
| | 242 | // 失敗の場合キャンセルと同等の処理をする |
|---|
| | 243 | browseCancelHandler(null); |
|---|
| | 244 | } |
|---|
| | 245 | } |
|---|
| | 246 | |
|---|
| | 247 | /** |
|---|
| | 248 | * browse 選択ハンドラ |
|---|
| | 249 | * |
|---|
| | 250 | * @private |
|---|
| | 251 | */ |
|---|
| | 252 | private function browseSelectHandler(e:Event):void |
|---|
| | 253 | { |
|---|
| | 254 | // 選択されたらアップロードする |
|---|
| | 255 | upload(); |
|---|
| | 256 | } |
|---|
| | 257 | |
|---|
| | 258 | /** |
|---|
| | 259 | * browse キャンセルハンドラ |
|---|
| | 260 | * |
|---|
| | 261 | * @private |
|---|
| | 262 | */ |
|---|
| | 263 | private function browseCancelHandler(e:Event):void |
|---|
| | 264 | { |
|---|
| | 265 | // とりあえず開始したことにして |
|---|
| | 266 | _progress.start(0); |
|---|
| | 267 | // すぐキャンセル |
|---|
| | 268 | _progress.cancel(); |
|---|
| | 269 | // して終わり |
|---|
| | 270 | } |
|---|
| | 271 | |
|---|
| | 272 | /** |
|---|
| | 273 | * アップロード |
|---|
| | 274 | * |
|---|
| | 275 | * @private |
|---|
| | 276 | */ |
|---|
| | 277 | private function upload():void |
|---|
| 168 | | event(_fileReference, DataEvent.UPLOAD_COMPLETE_DATA, completeHandler); |
|---|
| 169 | | event(_fileReference, ProgressEvent.PROGRESS, progressHandler); |
|---|
| 170 | | event(_fileReference, IOErrorEvent.IO_ERROR, ioErrorHandler); |
|---|
| 171 | | event(_fileReference, SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); |
|---|
| | 297 | if (waitCompleteData) { |
|---|
| | 298 | event(fileReference, DataEvent.UPLOAD_COMPLETE_DATA, completeHandler); |
|---|
| | 299 | } |
|---|
| | 300 | else { |
|---|
| | 301 | event(fileReference, Event.COMPLETE, completeHandler); |
|---|
| | 302 | } |
|---|
| | 303 | event(fileReference, ProgressEvent.PROGRESS, progressHandler); |
|---|
| | 304 | event(fileReference, IOErrorEvent.IO_ERROR, ioErrorHandler); |
|---|
| | 305 | event(fileReference, SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); |
|---|