Pakiet | air.desktop |
Klasa | public class URLFilePromise |
Dziedziczenie | URLFilePromise EventDispatcher Object |
Implementuje | IFilePromise |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Klasa URLFilePromise implementuje interfejs IFilePromise przy użyciu obiektów URLStream i URLRequest pełniących rolę źródła danych. Implementacja zapewnia obsługę przeciągania i upuszczania plików, które można pobrać za pośrednictwem protokołu HTTP lub innych protokołów obsługiwanych przez klasę URLStream.
Aby utworzyć obietnicę pliku spod adresu URL:
- Skonstruuj i zainicjuj co najmniej jeden obiekt URLFilePromise.
- Dodaj obiekty URLFilePromise do tablicy.
- Dodaj tablicę do nowego obiektu Clipboard przy użyciu formatu ClipboardFormat
FILE_PROMISE_LIST
. - W odpowiedzi na gest użytkownika wywołaj metodę NativeDragManager
startDrag()
, przekazując do niej obiekt Clipboard zawierający tablicę obietnic plików.
Gdy użytkownik zakończy operację przeciągania, środowisko wykonawcze pobiera dane dla każdej z obietnic pliku. Dostęp do danych uzyskiwany jest za pośrednictwem adresu URL podanego we właściwości request
obiektu URLFilePromise, a dane są zapisywane w pliku określonym we właściwości relativePath
. Plik jest zapisywany w miejscu określonym względem miejsca upuszczenia. A zatem, jeśli ścieżka względna to foo/bar.txt
, a obietnica pliku zostanie upuszczona w katalogu o nazwie home
, wówczas położeniem utworzonego pliku będzie: home/foo/bar.txt
. Jeśli wystąpi błąd, plik nie zostanie utworzony.
Aby zapewnić obsługę źródeł danych, które nie są dostępne przez klasę URLStream, należy zaimplementować interfejs IFilePromise.
Uwaga: Środowisko wykonawcze AIR automatycznie wywołuje metody interfejsu IFilePromise: open()
, close()
i reportError()
. Metody te nie powinny być nigdy wywoływane z kodu aplikacji. Ponadto zdarzenia open
, progress
, complete
i close
wywoływane przez obiekt URLFilePromise służą przede wszystkim do debugowania. Aplikacja nie musi reagować na te zdarzenia.
Klasa ta jest zawarta w pliku aircore.swc. Program Adobe® Flash™ Builder ładuje tę klasę automatycznie podczas tworzenia projektu dla środowiska Adobe® AIR™. Pakiet Adobe® Flex™ SDK również zawiera plik aircore.swc, który należy dołączyć podczas kompilowania aplikacji, jeśli używany jest program Flex SDK.
Aby korzystać z pakietu air.desktop w programie Adobe® Flash® Professional (CS4 lub nowsza wersja):
- Wybierz polecenie Plik > Ustawienia publikowania.
- W panelu Flash kliknij przycisk Ustawienia dla ActionScript 3.0. Wybierz opcję Ścieżka biblioteki.
- Kliknij przycisk Przejdź do pliku SWC. Przejdź do pliku Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc w folderze instalacyjnym programu Adobe Flash Professional.
- Kliknij przycisk OK.
- Dodaj poniższą instrukcję
import
do kodu ActionScript 3.0:import air.desktop.*;
Powiązane elementy interfejsu API
Klasa Clipboard
ClipboardFormats, klasa
NativeDragManager, klasa
Klasa URLStream
URLRequest, klasa
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
isAsync : Boolean [tylko do odczytu]
Wskazuje, czy dane zasobu są dostępne asynchronicznie. | URLFilePromise | ||
relativePath : String
Ścieżka i nazwa utworzonego pliku określone względem miejsca upuszczenia. | URLFilePromise | ||
request : URLRequest
Obiekt URLRequest identyfikujący zasób, który ma zostać skopiowany w wyniku operacji przeciągania i upuszczania. | URLFilePromise |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Tworzy obiekt URLFilePromise. | URLFilePromise | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu. | EventDispatcher | ||
Umożliwia środowisku wykonawczemu AIR zamknięcie źródła danych w odpowiednim momencie podczas operacji przeciągania i upuszczania. | URLFilePromise | ||
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń. | EventDispatcher | ||
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń. | EventDispatcher | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Umożliwia środowisku wykonawczemu AIR otwarcie źródła danych w odpowiednim momencie podczas operacji przeciągania i upuszczania. | URLFilePromise | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Usuwa detektor z obiektu EventDispatcher. | EventDispatcher | ||
Umożliwia środowisku AIR zgłaszanie błędów, które występują w trakcie operacji przeciągania i upuszczania. | URLFilePromise | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object | ||
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych. | EventDispatcher |
Zdarzenie | Podsumowanie | Zdefiniowane przez | ||
---|---|---|---|---|
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja środowiska wykonawczego AIR uzyskuje fokus w systemie operacyjnym i przechodzi w stan aktywny. | EventDispatcher | |||
Wywoływane, gdy dane pliku zostaną w całości pobrane. | URLFilePromise | |||
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny. | EventDispatcher | |||
Wywoływane przy żądaniach HTTP dotyczących zgłoszenia nagłówka odpowiedzi. | URLFilePromise | |||
Wywoływane przy żądaniach HTTP dotyczących zgłoszenia kodu statusu. | URLFilePromise | |||
Wywoływane, gdy błąd IOError uniemożliwia pobranie pliku. | URLFilePromise | |||
Wywoływane, gdy zostanie otwarte połączenie bazowego strumienia URLStream. | URLFilePromise | |||
Wywoływane, gdy blok danych jest dostępny do odczytu z podstawowego strumienia URLStream. | URLFilePromise | |||
Wywoływane, gdy błąd zabezpieczeń uniemożliwia pobranie pliku. | URLFilePromise |
isAsync | właściwość |
isAsync:Boolean
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Wskazuje, czy dane zasobu są dostępne asynchronicznie.
Właściwość isAsync obiektu URLFilePrmise jest zawsze równa true
, ponieważ strumienie URL są asynchroniczne z natury.
Implementacja
public function get isAsync():Boolean
relativePath | właściwość |
relativePath:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Ścieżka i nazwa utworzonego pliku określone względem miejsca upuszczenia.
Ścieżka może zawierać podkatalogi, których położenie jest określane na podstawie miejsca upuszczenia. W razie potrzeby podkatalogi są tworzone. W ścieżkach zawierających podkatalogi należy używać stałej File.separator
jako separatora właściwego dla bieżącego systemu operacyjnego. Użycie skrótu .. oznaczającego przejście do katalogu nadrzędnego nie jest dozwolone.
Nazwa pliku nie musi być identyczna z nazwą pliku zasobu zdalnego.
Implementacja
public function get relativePath():String
public function set relativePath(value:String):void
request | właściwość |
request:URLRequest
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Obiekt URLRequest identyfikujący zasób, który ma zostać skopiowany w wyniku operacji przeciągania i upuszczania.
Implementacja
public function get request():URLRequest
public function set request(value:URLRequest):void
URLFilePromise | () | Konstruktor |
public function URLFilePromise()
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Tworzy obiekt URLFilePromise.
Przed użyciem tego obiektu URLFilePromise należy ustawić właściwości request
i relativePath
.
close | () | metoda |
public function close():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Umożliwia środowisku wykonawczemu AIR zamknięcie źródła danych w odpowiednim momencie podczas operacji przeciągania i upuszczania.
Kod aplikacji nie powinien wywoływać tej funkcji.
open | () | metoda |
public function open():IDataInput
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Umożliwia środowisku wykonawczemu AIR otwarcie źródła danych w odpowiednim momencie podczas operacji przeciągania i upuszczania.
Kod aplikacji nie powinien wywoływać tej funkcji.
ZwracaIDataInput |
reportError | () | metoda |
public function reportError(e:ErrorEvent):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Umożliwia środowisku AIR zgłaszanie błędów, które występują w trakcie operacji przeciągania i upuszczania.
Obiekt URLFilePromise ponownie wywołuje wszelkie zdarzenia zgłoszonych błędów. Kod aplikacji nie powinien wywoływać tej funkcji.
Parametry
e:ErrorEvent |
complete | Zdarzenie |
flash.events.Event
właściwość Event.type =
flash.events.Event.COMPLETE
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Wywoływane, gdy dane pliku zostaną w całości pobrane.
Uwaga: Środowisko AIR wykorzystuje to zdarzenie do zarządzania procesem asynchronicznego pobierania danych. Zwykle aplikacja nie musi podejmować żadnych działań w odpowiedzi na to zdarzenie.
StałaEvent.COMPLETE
definiuje wartość właściwości type
obiektu zdarzenia complete
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt sieciowy, którego ładowanie zostało ukończone. |
httpResponseStatus | Zdarzenie |
flash.events.HTTPStatusEvent
właściwość HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Wywoływane przy żądaniach HTTP dotyczących zgłoszenia nagłówka odpowiedzi.
W przeciwieństwie do zdarzeniahttpStatus
, zdarzenie httpResponseStatus
jest dostarczane przed danymi odpowiedzi. Ponadto zdarzenia httpResponseStatus
zawiera wartości właściwości responseHeaders
i responseURL
(niezdefiniowane w przypadku zdarzenia httpStatus
). Należy zauważyć, że ewentualne zdarzenie httpResponseStatus
zostanie wysłane przed (i oprócz) wszelkich zdarzeń ukończenia
lubbłędu
.
Stała HTTPStatusEvent.HTTP_RESPONSE_STATUS
definiuje wartość właściwości type
obiektu zdarzenia httpResponseStatus
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
responseURL | Adres URL, z którego została zwrócona odpowiedź. |
responseHeaders | Nagłówki zwróconej odpowiedzi w postaci tablicy obiektów URLRequestHeader. |
status | Zwrócony przez serwer kod stanu HTTP. |
redirected | Czy odpowiedź jest wynikiem przekierowania. |
target | Obiekt sieciowy odbierający kod stanu HTTP. |
httpStatus | Zdarzenie |
flash.events.HTTPStatusEvent
właściwość HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Wywoływane przy żądaniach HTTP dotyczących zgłoszenia kodu statusu.
StałaHTTPStatusEvent.HTTP_STATUS
definiuje wartość type
właściwości obiektu zdarzenia httpStatus
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
status | Zwrócony przez serwer kod stanu HTTP. |
target | Obiekt sieciowy odbierający kod stanu HTTP. |
ioError | Zdarzenie |
flash.events.IOErrorEvent
właściwość IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Wywoływane, gdy błąd IOError uniemożliwia pobranie pliku.
Definiuje wartość właściwościtype
obiektu zdarzenia ioError
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
errorID | Numer referencyjny skojarzony z konkretnym błędem (tylko w środowisku AIR). |
target | Obiekt sieciowy, w którym wystąpił błąd wejścia/wyjścia. |
text | Tekst, który ma być wyświetlany w charakterze komunikatu o błędzie. |
open | Zdarzenie |
flash.events.Event
właściwość Event.type =
flash.events.Event.OPEN
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Wywoływane, gdy zostanie otwarte połączenie podstawowego strumienia URLStream.
Uwaga: Środowisko AIR wykorzystuje to zdarzenie do zarządzania procesem asynchronicznego pobierania danych. Zwykle aplikacja nie musi podejmować żadnych działań w odpowiedzi na to zdarzenie.
StałaEvent.OPEN
definiuje wartość właściwości type
obiektu zdarzenia open
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt sieciowy, który otworzył połączenie. |
progress | Zdarzenie |
flash.events.ProgressEvent
właściwość ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Wywoływane, gdy blok danych jest dostępny do odczytu z bazowego strumienia URLStream.
Uwaga: Środowisko AIR wykorzystuje to zdarzenie do zarządzania procesem asynchronicznego pobierania danych. Zwykle aplikacja nie musi podejmować żadnych działań w odpowiedzi na to zdarzenie.
Definiuje wartość właściwościtype
obiektu zdarzenia progress
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
bytesLoaded | Liczba elementów lub bajtów załadowanych w momencie, w którym detektor przetwarza zdarzenie. |
bytesTotal | Łączna liczba elementów lub bajtów, które zostaną ostatecznie załadowane w razie pomyślnego zakończenia operacji ładowania. |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt informujący o postępie. |
securityError | Zdarzenie |
flash.events.SecurityErrorEvent
właściwość SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.0 |
Wywoływane, gdy błąd zabezpieczeń uniemożliwia pobranie pliku.
StałaSecurityErrorEvent.SECURITY_ERROR
definiuje wartość właściwości type
obiektu zdarzenia securityError
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt sieciowy zgłaszający błąd zabezpieczeń. |
text | Tekst, który ma być wyświetlany w charakterze komunikatu o błędzie. |
Tue Jun 12 2018, 12:06 PM Z