Klasa: FileReference
Kompatybilność: ActionScript 1.0, Flash 8+
Opis
Klasa FileReference zapewnia środki do wysłania oraz pobrania plików pomiędzy komputerem użytkownika a serwerem. Okno dialogowo systemu operacyjnego skłania użytkownika do wybrania pliku do wysłania lub lokalizacji do zapisania. Każdy obiekt FileReference odwołuje się to pojedynczego pliku na użytkownika dysku, oraz zawiera właściwości, które zawierają informacje o rozmiarze, typu, nazwie, daty utworzenia, modyfikacji, oraz typ tworzenia (tylko Macintosh).
Instancje FileReference są tworzone w dwa różne sposoby:
- Kiedy użyjesz operatora NEW do konstruktora:
var mojFileReference = new FileReference();
- Kiedy użyjesz
FileReferenceList.browse()
, który tworzy tablicę obiektów FileReference.
Podczas operacji wysyłania, wszystkie właściwości obiektu FilteReference są ustawione przez wezwanie FileReference.browse()
lub FileReferenceList.browse()
. Podczas pobierania pliku, tylko właściwość name
jest ustawiona, kiedy zdarzenie onSelect
nastąpi, wszystkie inne właściwości staja się dostępne po zdarzeniu onComplete
.
Metoda FileReference.browse()
pozwala ci na wybranie jednego pliku, natomiast metoda FileReferenceList.browse()
pozwala na zaznaczenie więcej niż jednego pliku. Po poprawnym wywołaniu metody browse()
wystarczy wywołać metode FileReference.upload()
aby zacząć pobierać jeden plik na raz. Metoda FileReference.download()
wyświetla dla użytkownika okno dialogowe (podobne do browse ()), aby wybrać lokalizacje do zapisania pliku, oraz wykonuje zapis.
UWAGA! Klasy FileReference oraz FileReferenceList nie pozwalają Ci na ustawienie domyślnej lokalizacji w oknie dialogowym (ścieżka w systemie). Nie możesz również odczytać pobieranego pliku lub go nadpisywać.
Uwaga klasa FileReference
nie działa poprawnia na plaformach: Flash Player dla Linux, Flash Player plug-in dla Mac OS X, zewnętrzny Flash Player dla Macintosh, oraz wersja osamotniona dla Mac OS X 10.1 oraz wcześniejszych. SWF natomias zadziała na wszystkich wersjach Windows oraz wersjach samotnych odtwarzacza dla Macintosh naMac OS X 10.2 oraz późniejszych.
Dostępne właściwości dla klasy FileReference
Nazwa |
Opis |
creationDate |
Zwraca datę utworzenia pliku na dysku. |
creator |
Zwraca typ tworzenia dla Macintosh pliku. |
modificationDate |
Zwraca datę modyfikacji pliku na dysku. |
name |
Zwraca nazwe pliku na dysku. |
postData |
Zwraca parametry POST do operacji wysyłania lub pobierania. |
size |
Zwraca wilekość pliku na dysku w bajtach. |
type |
Zwraca typ pliku na dysku. |
Dostępne zdarzenia dla klasy FileReference
Zdarzenie |
Opis |
onCancel |
Wywołuje się, gdy użytkownik zamknie okno wyboru pliku bez wybrania pliku. |
onComplete |
Wywołuje się, gdy wysyłanie lub pobieranie zakończą się pomyślnie. |
onHTTPError |
Wywołuje się, gdy wysysłanie natrafi na błąd HTTP. |
onIOError |
Wywołuje się, gdy nastąpią błędy typu: wejście/wyjście. |
onOpen |
Wywołuje się, gdy operacje wysyłanie i pobieranie rozpoczynają się. |
onProgress |
Wywołuje się, gdy zostaje wysłana lub odebrana jakaś część pliku. |
onSecurityError |
Wywołuje się, gdy operacje wysyłania lub odbierania zawodzi z błędów bezpieczeństwa. |
onSelect |
Wywołuje się, gdy użytkownik wybierze plik w oknie dialogowym. |
onUploadCompleteData |
Wywołuje się, po otrzymanych danych od serwera, zaraz po zakończeniu wysyłania. |
Dostępne metody dla klasy FileReference
Nazwa |
Opis |
addListener |
rejestruje obiekt do odbierania notyfikacji o zdarzeniach dla obiektu FileReference. |
browse |
Wyświetla w oknie dialogowym tylko rozszerzenia plików, które zostały sprecyzowane w argumencie. |
cancel |
Zatrzymuje każda operację wysyłania lub pobierania plików dla obiektu FileReference. |
download |
Wyświetla okno dialogowe w którym użytkownik może pobrać plik z serwera zdalnego. |
removeListener |
Usuwa sluchacza dla obiektu, aby nie otrzymywał dalszych notyfikacji. |
upload |
Rozpoczyna wysyłanie wybranego pliku przez użytkownika do zdalnego serweru. |
Listing
import flash.net.FileReference;
var sluchacz:Object = new Object();
sluchacz.onComplete = function(plik:FileReference) {
trace("onComplete : " + plik.name);
}
var url:String = "http://www.adobe.com/platform/whitepapers/platform_overview.pdf";
var plikRef:FileReference = new FileReference();
plikRef.addListener(sluchacz);
plikRef.download(url, "FlashPlatform.pdf");
// przykład #2
import flash.net.FileReference;
var typy:Array = new Array();
var obrazki:Object = new Object();
obrazki.description = "Zdjęcia (*.jpg, *.jpeg, *.gif, *.png)";
obrazki.extension = "*.jpg; *.jpeg; *.gif; *.png";
typy.push(obrazki);
var textTypy:Object = new Object();
textTypy.description = "Pliki tekstowe (*.txt, *.rtf)";
textTypy.extension = "*.txt;*.rtf";
typy.push(textTypy);
var sluchacz:Object = new Object();
sluchacz.onSelect = function(plik:FileReference):Void {
trace("onSelect: " + plik.name);
if(!plik.upload("http://www.funkcje.net/skrypt-upload.php")) {
trace("Wysyłanie zakończone nie powodzeniem.");
}
}
sluchacz.onCancel = function(plik:FileReference):Void {
trace("onCancel");
}
sluchacz.onOpen = function(plik:FileReference):Void {
trace("onOpen: " + plik.name);
}
sluchacz.onProgress = function(plik:FileReference, bajtyZaladowane:Number, bajtyWszystkie:Number):Void {
trace("onProgress: " + bajtyZaladowane + " / " + bajtyWszystkie);
}
sluchacz.onComplete = function(plik:FileReference):Void {
trace("onComplete: " + plik.name);
}
sluchacz.onHTTPError = function(plik:FileReference):Void {
trace("onHTTPError: " + plik.name);
}
sluchacz.onIOError = function(plik:FileReference):Void {
trace("onIOError: " + plik.name);
}
sluchacz.onSecurityError = function(plik:FileReference, errorString:String):Void {
trace("onSecurityError: " + plik.name + " błąd: " + errorString);
}
var plikRef:FileReference = new FileReference();
plikRef.addListener(sluchacz);
plikRef.browse(typy);
Ranga: Administrator serwisu Punktów: 0