Upuszczanie a obietnice plików

Adobe AIR 2 i starsze wersje

Przyrzeczenie pliku jest to informacja w specjalnym formacie schowka, która umożliwia przeciągnięcie pliku, który jeszcze nie istnieje, poza aplikację AIR. Obietnice plików można na przykład wykorzystać, aby umożliwić użytkownikowi przeciągnięcie ikony zastępczej do folderu pulpitu. Ikona zastępcza reprezentuje plik lub inne dane dostępne pod określonym adresem URL. Gdy użytkownik upuści ikonę, środowisko pobierze dane i zapisze plik w miejscu upuszczenia.

Do realizacji funkcji przeciągania i upuszczania plików dostępnych pod adresem URL można użyć klasy URLFilePromise w aplikacji AIR. Implementacja URLFilePromise jest zawarta w bibliotece aircore jako część środowiska AIR 2 SDK. Należy użyć pliku aircore.swc lub aircore.swf znajdującego się w katalogu SDK frameworks/libs/air.

Można także zaimplementować własną logikę obietnic plików za pomocą interfejsu IFilePromise (który jest zdefiniowany w pakiecie flash.desktop środowiska wykonawczego).

Obietnice plików są koncepcyjnie zbliżone do opóźnionego renderowania przy użyciu funkcji obsługi danych w schowku. W przypadku przeciągania i upuszczania plików należy używać obietnic plików zamiast opóźnionego renderowania. Użycie techniki opóźnionego renderowania może prowadzić do niepożądanych przerw w geście przeciągania, spowodowanych koniecznością wygenerowania lub pobrania danych. Opóźnionego renderowania należy natomiast używać w operacjach kopiowania i wklejania (w których nie są obsługiwane obietnice plików).

Ograniczenia występujące podczas korzystania z obietnic plików

Obietnice plików mają następujące ograniczenia w porównaniu z innymi formatami danych, które można umieszczać w schowku przeciągania i upuszczania.

  • Obietnice plików można przeciągać tylko poza aplikację AIR; nie można ich upuszczać do aplikacji AIR.

  • Obietnice plików nie są obsługiwane we wszystkich systemach operacyjnych. Właściwość Clipboard.supportsFilePromise umożliwia sprawdzenie, czy obietnice plików są obsługiwane w systemie hosta. W systemach, które nie obsługują obietnic plików, należy udostępnić alternatywny mechanizm pobierania lub generowania danych plików.

  • Obietnice plików nie mogą być używane ze schowkiem kopiowania i wklejania ( Clipboard.generalClipboard ).