Flex Примеры, Adobe Flex, Флекс

Изучаем Flex. Примеры, статьи, рецепты …


Как загрузить файл на сервер и при этом получить ответ ) Flex

В интернете довольно много примеров по тому, как использовать FileReference для отправки файла на сервер, но мало где поясняется, как же все-таки отследить дальнейшую судьбу файла. Ведь событие Event.COMPLETE возникает всего лишь при удачной отправке файла на сервер. Как узнать, удалось ли вашему серверному приложению корректно обработать файл

есть еще очень хорошее событие DataEvent.UPLOAD_COMPLETE_DATA
которое возникает, если сервер вернул какие-то данные
вот, собственно, и пример использования:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white"
        creationComplete="init();">
 
    <mx:Script>
        <![CDATA[
            import flash.net.FileReference;
            import mx.controls.Alert;
 
            private var fileRef:FileReference;
            private var urlReq:URLRequest;
 
            private function init():void {
                fileRef = new FileReference();
                fileRef.addEventListener(Event.SELECT, fileRef_select);
                fileRef.addEventListener(Event.COMPLETE, fileRef_complete);
                fileRef.addEventListener(IOErrorEvent.IO_ERROR, fileRef_ioError);
                fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, fileRef_uploadCompleteData);
 
                urlReq = new URLRequest();
                urlReq.url = "http://localhost/uploader.php";
            }
 
            private function fileRef_uploadCompleteData(evt:DataEvent):void {
                //Данные с сервера, остальное -дело техники
                trace(evt.data)
            }
 
            private function start():void {
                fileRef.browse();
            }
 
            private function fileRef_select(evt:Event):void {
                fileRef.upload(urlReq);
            }
 
            private function fileRef_complete(evt:Event):void {
                Alert.show(evt.toString(), evt.type);
            }
 
            private function fileRef_ioError(evt:IOErrorEvent):void {
                Alert.show(evt.text, evt.type);
            }
        ]]>
    </mx:Script>
 
    <mx:Button label="upload" click="Поехали();" />
</mx:Application>

0 Отзывов на “Как загрузить файл на сервер и при этом получить ответ ) Flex”


  1. Нет комментариев

Оставить отзыв