Пакет | flash.net |
Класс | public class FileReferenceList |
Наследование | FileReferenceList EventDispatcher Object |
Язык версии: | 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
. Во время выполнения вызова FileReferenceList.browse()
воспроизведение SWF-файла приостанавливается в автономных и внешних версиях Flash Player и в AIR for Linux и Mac OS X 10.1 и более ранних версий.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
fileList : Array [только для чтения]
Массив объектов FileReference. | FileReferenceList |
Метод | Определено | ||
---|---|---|---|
Создает новый объект 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 | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
Событие | Сводка | Определено | ||
---|---|---|---|---|
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным. | EventDispatcher | |||
Отправляется, когда пользователь закрывает диалоговое окно обозревателя файлов. | FileReferenceList | |||
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным. | 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
Связанные элементы API
FileReferenceList | () | Конструктор |
public function FileReferenceList()
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Создает новый объект FileReferenceList. До тех пор пока вы не вызовете в отношении объекта FileReferenceList метод browse()
и пользователь не выберет один или несколько файлов, данный объект остается пустым. При вызове метода browse()
в отношении объекта FileReference свойство fileList
данного объекта заполняется массивом объектов FileReference
.
Связанные элементы API
browse | () | метод |
public function browse(typeFilter:Array = null):Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отображает диалоговое окно выбора файлов, позволяющее пользователю выбрать один или несколько локальных файлов для загрузки. Это диалоговое окно принадлежит операционной системе пользователя.
В приложении Flash Player версии 10 и старше этот метод можно вызывать только в ответ на пользовательское событие (например, в обработчике событий щелчка мыши или нажатия клавиши). В противном случае в результате вызова этого метода в приложении Flash Player возникает ошибка.
Когда вы вызываете этот метод и пользователь успешно выбирает файлы, свойство 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.
| |
Error — Если вызов метода не выполняется в ответ на действие пользователя, такое как событие мыши или нажатие клавиши.
|
Связанные элементы API
cancel | Событие |
flash.events.Event
свойство Event.type =
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 | Ссылка на объект, для которого отменена операция. |
Связанные элементы API
select | Событие |
flash.events.Event
свойство Event.type =
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 | Объект, в котором выделен элемент. |
Связанные элементы API
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()); } }
Tue Jun 12 2018, 11:34 AM Z