Пакет | flash.net |
Класс | public class FileReferenceList |
Наследование | FileReferenceList ![]() ![]() |
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Для работы с классом FileReferenceList необходимо:
var myFileRef = new FileReferenceList();
FileReferenceList.browse()
, открывающий диалоговое окно, с помощью которого пользователь может выбрать один или несколько файлов для отправки: myFileRef.browse();
browse()
свойство fileList
объекта FileReferenceList заполняется массивом объектов FileReference.FileReference.upload()
по каждому элементу в массиве fileList
.Для работы с несколькими файлами класс FileReferenceList снабжен методом browse()
и свойством fileList
. На автономных и внешних проигрывателях для ОС Linux и Mac OS X 10.1 (и более ранних версий) в процессе выполнения вызова FileReferenceList.browse()
воспроизведение SWF-файла временно останавливается.
См. также
Свойство | Определено | ||
---|---|---|---|
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
fileList : Array [только для чтения]
Массив объектов FileReference. | FileReferenceList | ||
![]() | prototype : Object [статические]
Ссылка на модель объекта класса или функции. | Object |
Метод | Определено | ||
---|---|---|---|
Создает новый объект FileReferenceList. | FileReferenceList | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события в объекте EventDispatcher, в результате чего прослушиватель будет получать уведомления о событиях. | EventDispatcher | |
Отображает диалоговое окно выбора файлов, позволяющее пользователю выбрать один или несколько локальных файлов для отправки. | FileReferenceList | ||
![]() |
Передает событие в поток событий. | EventDispatcher | |
![]() |
Проверяет наличие у объекта EventDispatcher прослушивателей событий, которые зарегистрированы для получения уведомлений о событиях определенного типа. | EventDispatcher | |
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Возвращает строковое представление заданного объекта. | Object | |
![]() |
Возвращает элементарное значение заданного объекта. | Object | |
![]() |
Проверяет, зарегистрирован ли прослушиватель событий в объекте EventDispatcher или в любом из его предков для получения уведомлений о событиях определенного типа. | EventDispatcher |
Событие | Сводка | Определено | ||
---|---|---|---|---|
![]() | [многоадресное событие] Отправляется, когда проигрыватель Flash Player перемещается в фокус операционной системы и становится активным. | EventDispatcher | ||
Отправляется, когда пользователь закрывает диалоговое окно обозревателя файлов. | FileReferenceList | |||
![]() | [многоадресное событие] Отправляется, когда проигрыватель Flash Player покидает фокус операционной системы и становится неактивным. | EventDispatcher | ||
Отправляется, когда пользователь выбирает один или несколько файлов для отправки в диалоговом окне обозревателя файлов. | FileReferenceList |
fileList | свойство |
fileList:Array
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Массив объектов FileReference
.
Когда вызывается метод FileReferenceList.browse()
и пользователь выбирает один или несколько файлов в диалоговом окне, которое открывает метод browse()
, данное свойство заполняется массивом объектов FileReference, каждый из которых представляет выбранный пользователем файл. В дальнейшем можно использовать данный массив для отправки каждого файла с помощью метода FileReference.upload()
. За раз следует передавать по одному файлу.
Свойство fileList
заполняется заново при каждом вызове метода browse() в отношении данного объекта FileReferenceList.
Свойства объектов FileReference
описаны в документации по классу FileReference.
public function get fileList():Array
См. также
FileReferenceList | () | Конструктор |
public function FileReferenceList()
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Создает новый объект FileReferenceList. До тех пор пока вы не вызовете в отношении объекта FileReferenceList метод browse()
и пользователь не выберет один или несколько файлов, данный объект остается пустым. При вызове метода browse()
в отношении объекта FileReference свойство fileList
данного объекта заполняется массивом объектов FileReference
.
См. также
browse | () | метод |
public function browse(typeFilter:Array = null):Boolean
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отображает диалоговое окно выбора файлов, позволяющее пользователю выбрать один или несколько локальных файлов для отправки. Это диалоговое окно принадлежит операционной системе пользователя. Когда вы вызываете этот метод и пользователь успешно выбирает файлы, свойство fileList
данного объекта FileReferenceList заполняется массивом объектов FileReference (по одному для каждого выбранного пользователем файла). При каждом последующем вызове метода FileReferenceList.browse() свойство FileReferenceList.fileList
указывает файлы, которые пользователь выбрал в диалоговом окне.
С помощью параметра typeFilter
можно определить, какие файлы будут отображаться в диалоговом окне.
Единовременно в отношении объекта FileReferenceList может быть запущен только один сеанс FileReference.browse()
, FileReference.download()
или FileReferenceList.browse()
(за раз может быть открыто только одно диалоговое окно).
Параметры
typeFilter:Array (default = null ) — Массив экземпляров FileFilter, который используется для фильтрации файлов, отображенных в диалоговом окне. Если данный параметр пропущен, то отображаются все файлы. Дополнительную информацию см. в описании класса FileFilter.
|
Boolean — Возвращает значение true при наличии допустимых параметров и открытии диалогового окна просмотра файлов.
|
select: — Вызывается, когда пользователь успешно выбирает в диалоговом окне элемент для отправки. | |
cancel: — Вызывается, когда пользователь прекращает работу с диалоговым окном путем его закрытия или нажатия на кнопку "Отмена". |
IllegalOperationError — Создается в следующих ситуациях: 1) В текущий момент запущен другой сеанс просмотра FileReference или FileReferenceList (единовременно может быть запущен только один сеанс просмотра файлов). 2) Параметр в файле пользователя mms.cfg запрещает данную операцию.
| |
ArgumentError — Если массив typeFilter не содержит правильно сформатированные объекты FileFilter, создается исключение. Подробные сведения о правильном форматировании фильтров см. в документации по FileFilter.
|
См. также
cancel | Событие |
flash.events.Event
flash.events.Event.CANCEL
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется, когда пользователь закрывает диалоговое окно обозревателя файлов. (Это диалоговое окно открывается при вызове метода FileReferenceList.browse()
, FileReference.browse()
илиFileReference.download()
.)
Event.CANCEL
определяет значение свойства type
объекта события cancel
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Ссылка на объект, для которого отменена операция. |
См. также
select | Событие |
flash.events.Event
flash.events.Event.SELECT
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется, когда пользователь выбирает один или несколько файлов для отправки в диалоговом окне обозревателя файлов. (Это диалоговое окно открывается при вызове метода FileReferenceList.browse()
, FileReference.browse()
илиFileReference.download()
.) Когда пользователь выбирает файл и подтверждает эту операцию (например, путем нажатия на кнопку "Сохранить"), объект FileReferenceList
заполняется объектами FileReference, представляющими выбранные пользователем файлы.
Event.SELECT
определяет значение свойства type
объекта события select
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект, в котором выделен элемент. |
См. также
complete
, которое отправляется при отправке каждого отдельного файла в объекте FileReferenceList. Событие LIST_COMPLETE
в классе FileReferenceListExample отправляется, когда будут загружены все файлы в объекте FileReferenceList.
Чтобы запустить данный пример, разместите сценарий, предназначенный для принятия отправки файла, по адресу http://www.[yourDomain].com/yourUploadHandlerScript.cfm. Чтобы обеспечить сетевой доступ к указанному файлу, в зависимости от того, где расположен ваш SWF-файл и куда вы передаете файлы, может также потребоваться скомпилировать SWF-файл, определив для параметра "Безопасность локального воспроизведения" значение "Доступ только к сети", или обновить параметры безопасности проигрывателя Flash® Player. Если для отправки используется удаленный сервер и данный пример запускается с настольного компьютера, на вашем сервере должен присутствовать файл crossdomain.xml.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.FileReferenceList; public class FileReferenceListExample extends Sprite { public static var LIST_COMPLETE:String = "listComplete"; public function FileReferenceListExample() { initiateFileUpload(); } private function initiateFileUpload():void { var fileRef:CustomFileReferenceList = new CustomFileReferenceList(); fileRef.addEventListener(FileReferenceListExample.LIST_COMPLETE, listCompleteHandler); fileRef.browse(fileRef.getTypes()); } private function listCompleteHandler(event:Event):void { trace("listCompleteHandler"); } } } import flash.events.*; import flash.net.FileReference; import flash.net.FileReferenceList; import flash.net.FileFilter; import flash.net.URLRequest; class CustomFileReferenceList extends FileReferenceList { private var uploadURL:URLRequest; private var pendingFiles:Array; public function CustomFileReferenceList() { uploadURL = new URLRequest(); uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm"; initializeListListeners(); } private function initializeListListeners():void { addEventListener(Event.SELECT, selectHandler); addEventListener(Event.CANCEL, cancelHandler); } public function getTypes():Array { var allTypes:Array = new Array(); allTypes.push(getImageTypeFilter()); allTypes.push(getTextTypeFilter()); return allTypes; } private function getImageTypeFilter():FileFilter { return new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg;*.jpeg;*.gif;*.png"); } private function getTextTypeFilter():FileFilter { return new FileFilter("Text Files (*.txt, *.rtf)", "*.txt;*.rtf"); } private function doOnComplete():void { var event:Event = new Event(FileReferenceListExample.LIST_COMPLETE); dispatchEvent(event); } private function addPendingFile(file:FileReference):void { trace("addPendingFile: name=" + file.name); pendingFiles.push(file); file.addEventListener(Event.OPEN, openHandler); file.addEventListener(Event.COMPLETE, completeHandler); file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); file.addEventListener(ProgressEvent.PROGRESS, progressHandler); file.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); file.upload(uploadURL); } private function removePendingFile(file:FileReference):void { for (var i:uint; i < pendingFiles.length; i++) { if (pendingFiles[i].name == file.name) { pendingFiles.splice(i, 1); if (pendingFiles.length == 0) { doOnComplete(); } return; } } } private function selectHandler(event:Event):void { trace("selectHandler: " + fileList.length + " files"); pendingFiles = new Array(); var file:FileReference; for (var i:uint = 0; i < fileList.length; i++) { file = FileReference(fileList[i]); addPendingFile(file); } } private function cancelHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("cancelHandler: name=" + file.name); } private function openHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("openHandler: name=" + file.name); } private function progressHandler(event:ProgressEvent):void { var file:FileReference = FileReference(event.target); trace("progressHandler: name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function completeHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("completeHandler: name=" + file.name); removePendingFile(file); } private function httpErrorHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("httpErrorHandler: name=" + file.name); } private function ioErrorHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("ioErrorHandler: name=" + file.name); } private function securityErrorHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("securityErrorHandler: name=" + file.name + " event=" + event.toString()); } }