Пакет | flash.net |
Класс | public class FileReference |
Наследование | FileReference ![]() ![]() |
Подклассы | File |
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Существуют следующие способы создания экземпляров FileReference.
new
с конструктором FileReference: var myFileReference = new FileReference();
FileReferenceList.browse()
, который создает массив объектов FileReference.Во время операции отправки все свойства объекта FileReference заполняются вызовами метода FileReference.browse()
или FileReferenceList.browse()
. Во время операции загрузки свойство name
заполняется при отправке события select
. Все остальные свойства заполняются при отправке события complete
.
Метод browse()
открывает диалоговое окно операционной системы, предлагающее пользователю выбрать файл для отправки. С помощью метода FileReference.browse()
пользователь может выбрать один файл, метод FileReferenceList.browse()
позволяет выбирать сразу несколько файлов. После успешного вызова метода browse()
для последовательной отправки файлов вызовите метод FileReference.upload()
. Метод FileReference.download()
запрашивает у пользователя адрес для сохранения файла и начинает загрузку с удаленного URL-адреса.
Классы FileReference и FileReferenceList не позволяют определять место хранения файла по умолчанию для диалогового окна, которое создают методы browse()
или download()
. Адресом по умолчанию, отображаемым в диалоговом окне, служит папка, просмотренная в самый последний раз (если это место может быть определено), или рабочий стол. Эти классы не разрешают операции записи или чтения в отношении переданного файла. Они закрывают для SWF-файла, который инициировал отправку или загрузку, доступ к переданному или загруженному файлу или месту размещения файла на диске пользователя.
Классы FileReference и FileReferenceList также не предоставляют методы аутентификации. При работе с серверами, требующими аутентификации, можно загружать файлы с помощью модуля обозревателя Flash® Player, но при этом отправка (во всех проигрывателях) и загрузка (в автономном или внешнем проигрывателе) закончатся сбоем. Следует прослушать события FileReference, чтобы определить, успешно ли завершились операции, а также обработать ошибки.
Для содержимого в Flash Player или в Adobe AIR, выполняемого за пределами изолированной программной среды безопасности для приложения, операции отправки и загрузки могут обращаться только к файлам, находящимся в его собственном домене и в доменах, перечисленных в файле политик для URL. Файл политик для следует разместить на файловом сервере, если содержимое, инициирующее отправку или загрузку, не принадлежит тому домену, в котором размещается файловый сервер.
Во время выполнения вызовов FileReference.browse()
, FileReferenceList.browse()
или FileReference.download()
воспроизведение SWF-файла приостанавливается в автономных и внешних проигрывателях для Linux® и Mac® OS® X 10.1 и более ранних версий.
Следующий пример запроса HTTP POST
отправляется из Flash Player сценарию на сервере, если не заданы параметры:
POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7ei4cH2ei4gL6 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
Flash Player отправляет следующий запрос HTTP POST
, если заданы параметры "api_sig"
, "api_key"
и "auth_token"
:
POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7ei4cH2ei4gL6 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_sig" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_key" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="auth_token" XXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
См. также
Свойство | Определено | ||
---|---|---|---|
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
creationDate : Date [только для чтения]
Дата создания файла на локальном диске. | FileReference | ||
creator : String [только для чтения]
Тип создателя Macintosh для файла, который используется только в версиях OS, предшествующих Mac OS X. | FileReference | ||
data : ByteArray [только для чтения]
ByteArray, представляющий загруженный файл после успешного вызова метода load(). | FileReference | ||
![]() [только для чтения]
Расширение имени файла. | FileReference | ||
modificationDate : Date [только для чтения]
Дата последнего изменения файла на локальном диске. | FileReference | ||
name : String [только для чтения]
Имя файла на локальном диске. | FileReference | ||
![]() | prototype : Object [статические]
Ссылка на модель объекта класса или функции. | Object | |
size : Number [только для чтения]
Размер файла на локальном диске в байтах. | FileReference | ||
type : String [только для чтения]
Тип файла. | FileReference |
Метод | Определено | ||
---|---|---|---|
Создает новый объект FileReference. | FileReference | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события в объекте EventDispatcher, в результате чего прослушиватель будет получать уведомления о событиях. | EventDispatcher | |
Отображает диалоговое окно выбора файлов, позволяющее пользователю выбрать файл для отправки. | FileReference | ||
Отменяет любую текущую операцию отправки или загрузки в отношении данного объекта FileReference. | FileReference | ||
![]() |
Передает событие в поток событий. | EventDispatcher | |
Открывает диалоговое окно, позволяющее пользователю загрузить файл с удаленного сервера. | FileReference | ||
![]() |
Проверяет наличие у объекта EventDispatcher прослушивателей событий, которые зарегистрированы для получения уведомлений о событиях определенного типа. | EventDispatcher | |
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
Начинает загрузку локального файла, выбранного пользователем. | FileReference | ||
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | |
Открывает диалоговое окно, позволяющее пользователю сохранить файл в локальной файловой системе. | FileReference | ||
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Возвращает строковое представление заданного объекта. | Object | |
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Запускает отправку выбранного пользователем файла на удаленный сервер. | FileReference | ||
Инициируют отправку файла в URL без кодировки. | FileReference | ||
![]() |
Возвращает элементарное значение заданного объекта. | Object | |
![]() |
Проверяет, зарегистрирован ли прослушиватель событий в объекте EventDispatcher или в любом из его предков для получения уведомлений о событиях определенного типа. | EventDispatcher |
Событие | Сводка | Определено | ||
---|---|---|---|---|
![]() | [многоадресное событие] Отправляется, когда проигрыватель Flash Player перемещается в фокус операционной системы и становится активным. | EventDispatcher | ||
Отправляется, когда отправка или загрузка файла прервана пользователем в диалоге просмотра файлов. | FileReference | |||
Отправляется, когда загрузка завершается или в ходе отправки создается код состояния HTTP со значением 200. | FileReference | |||
![]() | [многоадресное событие] Отправляется, когда проигрыватель Flash Player покидает фокус операционной системы и становится неактивным. | EventDispatcher | ||
Отправляется, если вызов метода upload() или uploadUnencoded() пытается обратиться к данным через HTTP и Adobe AIR может обнаружить и вернуть код состояния для запроса. | FileReference | |||
Отправляется, когда при отправке происходит ошибка и доступен код состояния HTTP, описывающий ошибку. | FileReference | |||
Отправляется в случае ошибки при отправке или загрузке. | FileReference | |||
Отправляется в начале операции отправки или загрузки. | FileReference | |||
Отправляется периодически в ходе операции отправки или загрузки файла. | FileReference | |||
Отправляется, когда путем вызова метода FileReference.upload() или FileReference.download() предпринимается попытка передать файл на сервер или получить файл с сервера, находящегося за пределами изолированной среды вызывающего объекта. | FileReference | |||
Отправляется, когда пользователь выбирает файл для отправки или загрузки в диалоговом окне обозревателя файлов. | FileReference | |||
Отправляется после получения с сервера данных о успешном завершении отправки. | FileReference |
creationDate | свойство |
creationDate:Date
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Дата создания файла на локальном диске. Если объект не был заполнен, вызов с целью получения значения данного свойства возвращает значение null
.
public function get creationDate():Date
IllegalOperationError — При неудачном вызове метода FileReference.browse() , FileReferenceList.browse() или FileReference.download() создается исключение, сопровождаемое сообщением о том, что функции были вызваны в неправильном порядке или предыдущий вызов закончился сбоем. В этом случае значение свойства creationDate равно null .
| |
IOError — Если информация файла недоступна, создается исключение с сообщением, регистрирующим ошибку ввода-вывода файла.
|
См. также
creator | свойство |
creator:String
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Тип создателя Macintosh для файла, который используется только в версиях OS, предшествующих Mac OS X. В Windows это свойство имеет значение null
. Если объект FileReference object не был заполнен, вызов с целью получения значения данного свойства возвращает значение null
.
public function get creator():String
IllegalOperationError — На компьютерах Macintosh при неудачном вызове метода FileReference.browse() , FileReferenceList.browse() или FileReference.download() создается исключение, сопровождаемое сообщением о том, что функции были вызваны в неправильном порядке или предыдущий вызов закончился сбоем. В этом случае значение свойства creator равно null .
|
См. также
data | свойство |
data:ByteArray
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
ByteArray, представляющий загруженный файл после успешного вызова метода load()
.
flash10 function get data():ByteArray
IllegalOperationError — При неудачном вызове метода FileReference.load() создается исключение, сопровождаемое сообщением о том, что функции были вызваны в неправильном порядке или предыдущий вызов закончился сбоем. В этом случае значение свойства data равно null .
| |
IOError — Если файл не открывается или не считывается или если подобная ошибка возникает при обращении к файлу, в системе создается исключение с сообщением, указывающим на ошибку ввода-вывода файла. В этом случае значение свойства data равно null .
|
См. также
![]() | свойство |
extension:String
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Расширение имени файла.
Расширение файла — это часть имени после последней точки ("."), не включая ее. Если в имени файла нет точки, то расширение имеет значение null
.
Примечание. Для определения типа файла следует использовать свойство extension
, а не creator
или type
. Свойства creator
и type
в данном случае несущественны. Они применяются к устаревшим версиям Mac OS.
public function get extension():String
IllegalOperationError — Если ссылка не инициализирована.
|
modificationDate | свойство |
modificationDate:Date
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 9, Flash Player 9 |
Дата последнего изменения файла на локальном диске. Если объект FileReference object не был заполнен, вызов с целью получения значения данного свойства возвращает значение null
.
public function get modificationDate():Date
IllegalOperationError — При неудачном вызове метода FileReference.browse() , FileReferenceList.browse() или FileReference.download() создается исключение, сопровождаемое сообщением о том, что функции были вызваны в неправильном порядке или предыдущий вызов закончился сбоем. В этом случае значение свойства modificationDate равно null .
| |
IOError — Если информация файла недоступна, создается исключение с сообщением, регистрирующим ошибку ввода-вывода файла.
|
См. также
name | свойство |
name:String
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Имя файла на локальном диске. Если объект FileReference не был заполнен (путем допустимого вызова FileReference.download()
или FileReference.browse()
), то при запросе значения данного свойства проигрыватель Flash Player выдает ошибку.
Все свойства объекта FileReference заполняются путем вызова метода browse()
. В отличие от других свойств FileReference, при вызове метода download()
свойство name
заполняется после отправления события select
.
public function get name():String
IllegalOperationError — При неудачном вызове метода FileReference.browse() , FileReferenceList.browse() или FileReference.download() создается исключение, сопровождаемое сообщением о том, что функции были вызваны в неправильном порядке или предыдущий вызов закончился сбоем.
|
См. также
size | свойство |
size:Number
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Размер файла на локальном диске в байтах. Если size
имеет значение 0, выдается исключение.
Примечание. В исходной версии ActionScript 3.0 свойство size
было определено как объект uint, поддерживавший файлы размером до 4 Гб. Сейчас он реализуется как объект Number для поддержки более крупных файлов.
public function get size():Number
IllegalOperationError — При неудачном вызове метода FileReference.browse() , FileReferenceList.browse() или FileReference.download() создается исключение, сопровождаемое сообщением о том, что функции были вызваны в неправильном порядке или предыдущий вызов закончился сбоем.
| |
IOError — Если файл не открывается или не считывается или если подобная ошибка возникает при обращении к файлу, в системе создается исключение с сообщением, указывающим на ошибку ввода-вывода файла.
|
См. также
type | свойство |
type:String
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Тип файла. В операционной системе Windows это свойство указывает расширение файла. В операционной среде Macintosh это свойство указывает четырехзначный тип файла, который используется только в версиях Mac OS, предшествующих Mac OS X. Если объект FileReference object не был заполнен, вызов с целью получения значения данного свойства возвращает значение null
.
Для Windows и Mac OS X расширение файла (то есть, часть свойства name
после последней точки (.)), определяет тип файла.
public function get type():String
IllegalOperationError — При неудачном вызове метода FileReference.browse() , FileReferenceList.browse() или FileReference.download() создается исключение, сопровождаемое сообщением о том, что функции были вызваны в неправильном порядке или предыдущий вызов закончился сбоем. В этом случае значение свойства type равно null .
|
См. также
FileReference | () | Конструктор |
public function FileReference()
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Создает новый объект FileReference. В заполненном состоянии объект FileReference представляет собой файл на локальном диске пользователя.
См. также
browse | () | метод |
public function browse(typeFilter:Array = null):Boolean
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 9, AIR 1.0 |
Отображает диалоговое окно выбора файлов, позволяющее пользователю выбрать файл для отправки. Это диалоговое окно принадлежит операционной системе пользователя. Пользователь может выбрать файл на локальном компьютере или в других системах (например, с помощью UNC-пути в операционной системе Windows).
Когда вы вызываете этот метод и пользователь успешно выбирает файл, свойства данного объекта FileReference заполняются свойствами выбранного файла. При каждом последующем вызове метода FileReferenceList.browse()
свойства объекта FileReference соотносятся с файлом, который пользователь выбирает в диалоговом окне. Единовременно может выполняться только один сеанс browse()
или download()
(так как в любой момент времени можно вызвать только одно диалоговое окно).
С помощью параметра typeFilter
можно определить, какие файлы будут отображаться в диалоговом окне.
Параметры
typeFilter:Array (default = null ) — Массив экземпляров FileFilter, который используется для фильтрации файлов, отображенных в диалоговом окне. Если данный параметр пропущен, то отображаются все файлы. Дополнительную информацию см. в описании класса FileFilter.
|
Boolean — Возвращает значение true при наличии допустимых параметров и открытии диалогового окна просмотра файлов.
|
select: — Отправляется, когда пользователь успешно выбирает элемент в окне выбора файлов. | |
cancel: — Отправляется, когда пользователь закрывает окно выбора файлов для отправки. |
IllegalOperationError — Создается в следующих ситуациях: 1) В текущий момент запущен другой сеанс просмотра FileReference или FileReferenceList (единовременно может быть запущен только один сеанс просмотра файлов). 2) Параметр в файле пользователя mms.cfg запрещает данную операцию.
| |
ArgumentError — Если массив typeFilter содержит неправильно сформатированные объекты FileFilter, создается соответствующее исключение. Сведения о правильном формате для объектов FileFilter представлены в описании класса FileFilter.
|
См. также
cancel | () | метод |
public function cancel():void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отменяет любую текущую операцию отправки или загрузки в отношении данного объекта FileReference. Вызов данного метода не приводит к отправке события cancel
. Оно отправляется только в тот момент, когда пользователь отменяет операцию путем закрытия диалогового окна отправки или загрузки файлов.
download | () | метод |
public function download(request:URLRequest, defaultFileName:String = null):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Открывает диалоговое окно, позволяющее пользователю загрузить файл с удаленного сервера. Несмотря на то, что Flash Player не имеет ограничений на размер передаваемых или загружаемых файлов, официально проигрыватель поддерживает обработку информации, объем которой не превышает 100 МБ.
Сначала метод download()
открывает диалоговое окно операционной системы, в котором пользователь должен ввести имя файла и выбрать место на локальном компьютере для сохранения этого файла. После того как пользователь выберет нужное место и подтвердит операцию загрузки (например, путем нажатия кнопки "Сохранить"), начнется загрузка с удаленного сервера. Прослушиватели получают события для определения состояния, успешности или сбоя загрузки. Чтобы определить состояние диалогового окна и операции загрузки после вызова метода download()
, код должен прослушивать такие события, как cancel
, open
, progress
и complete
.
Функции FileReference.upload()
и FileReference.download()
не являются блокирующими. Эти функции возвращаются после вызова до завершения операции передачи файла. Кроме этого, если объект FileReference покинет зону действия, любая незавершенная отправка или загрузка в отношении данного объекта будет отменена в момент его выхода из зоны действия. Следите за тем, чтобы объект FileReference оставался в области действия на всем протяжении операции отправки или загрузки.
После успешной загрузки файла свойства объекта FileReference заполняются свойствами локального файла. Событие complete
отправляется при успешном завершении загрузки.
Единовременно может выполняться только один сеанс browse()
или download()
(так как в любой момент времени можно вызвать только одно диалоговое окно).
Данный метод поддерживает загрузку файла любого типа по протоколу HTTP или HTTPS.
Нельзя подключаться к общепринятым зарезервированным портам. Полный список заблокированных портов см. в разделе "Ограничение сетевых API-интерфейсов" в главе "Безопасность" книги Программирование на ActionScript 3.0.
Примечание. Если ваш сервер требует аутентификации пользователей, только Flash-приложения, запущенные в обозревателе (то есть, с использованием дополнительного модуля обозревателя или элемента управления ActiveX), могут представить пользователю диалоговое окно для ввода имени пользователя и пароля (для аутентификации) и только потом перейти к загрузкам. При отправке с помощью дополнительного модуля или элемента управления ActiveX, а также при загрузке или отправке данных посредством автономного или внешнего проигрывателя происходит сбой передачи файлов.
При использовании данного метода необходимо продумать модель безопасности проигрывателя Flash Player:
allowNetworking
для тегов object
и embed
на странице HTML, содержащей SWF-содержимое.Однако в Adobe AIR эти ограничения по безопасности не распространяются на содержимое в изолированной программной среде безопасности приложения
(содержимое, установленное с приложением AIR).
Дополнительные сведения о безопасности см. в следующих ресурсах.
Параметры
request:URLRequest — Объект URLRequest. В свойстве url объекта URLRequest должен быть указан URL-адрес файла, который необходимо загрузить на локальный компьютер. Если значение этого параметра равно null , создается исключение. Свойство requestHeaders объекта URLRequest игнорируется. Пользовательские заголовки запросов HTTP не поддерживаются ни при отправке, ни при загрузке данных. Чтобы отправить параметры POST или GET на сервер, установите для них значение URLRequest.data , а затем установите значение URLRequest.method для URLRequestMethod.POST или URLRequestMethod.GET .
В некоторых обозревателях URL-строки имеют ограниченную длину. Строки длиной свыше 256 символов могут не обрабатываться в некоторых обозревателях и серверах. | |
defaultFileName:String (default = null ) — Имя файла, отображаемое по умолчанию в диалоговом окне загрузки файла. Данная строка не должна содержать следующие символы: / \ : * ? " < > | %
Если данный параметр опустить, будет обрабатываться и использоваться по умолчанию имя файла удаленного URL-адреса. |
open: — Отправляется при запуске операции загрузки. | |
progress: — Отправляется периодически в ходе операции загрузки файла. | |
complete: — Отправляется после успешного завершения операции загрузки файла. | |
cancel: — Отправляется, когда пользователь закрывает диалоговое окно. | |
select: — Отправляется, когда пользователь выбирает в диалоговом окне файл для загрузки. | |
securityError: — Отправляется при сбое загрузки вследствие ошибки в системе безопасности. | |
ioError: — Отправляется по любой из следующих причин:
|
IllegalOperationError — Создается в следующих ситуациях: 1) В текущий момент запущен другой сеанс просмотра (единовременно может быть запущен только один сеанс просмотра файлов). 2) Значение, переданное request , не содержит допустимый путь или протокол. 3) Имя загружаемого файла содержит запрещенные символы. 4) Параметр в файле пользователя mms.cfg запрещает данную операцию.
| |
SecurityError — Локальное ненадежное содержимое изолируется от Интернета. Чтобы избежать этой ситуации, следует переклассифицировать данный SWF-файл как "local-with-networking" или доверенный. При создании данное исключение сопровождается сообщением, указывающим на отсутствие доступа к имени файла или URL-адресу вследствие локальных ограничений в системе безопасности файлов.
| |
SecurityError — Если вы пытаетесь подключиться к обычно зарезервированному порту. Полный список заблокированных портов см. в разделе "Ограничение сетевых API-интерфейсов" в главе "Безопасность" книги Программирование на ActionScript 3.0.
| |
ArgumentError — Если параметр url.data имеет тип ByteArray, создается исключение. Для использования с методами FileReference.upload() и FileReference.download() параметр url.data может быть только следующего типа: URLVariables или String.
| |
MemoryError — Данная ошибка может возникнуть по следующим причинам: 1) Проигрыватель Flash Player не может преобразовать значение параметра URLRequest.data из UTF8 в MBCS. Данная ошибка применяется, если объект URLRequest, переданный методу FileReference.download() , настроен на выполнение операции GET, а параметр System.useCodePage имеет значение true . 2) Проигрыватель Flash Player не может выделить память для данных POST . Данная ошибка применима, если переданный методу FileReference.download() объект URLRequest настроен на выполнение операции POST .
|
См. также
download
. Чтобы запустить данный пример, измените свойство downloadURL.url
так, чтобы оно указывало реальный домен и файл, а не выдуманный http://www.[yourDomain].com/SomeFile.pdf. Чтобы обеспечить сетевой доступ к этому файлу, может также потребоваться скомпилировать SWF-файл с установленным для параметра "Безопасность локального воспроизведения" режимом "Доступ только к сети" или обновить параметры безопасности проигрывателя Flash Player.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; import flash.net.FileFilter; public class FileReference_download extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_download() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); configureListeners(file); file.download(downloadURL, fileName); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } 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 securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url); } } }
load | () | метод |
flash10 function load():void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Начинает загрузку локального файла, выбранного пользователем. Несмотря на то, что Flash Player не имеет ограничений на размер передаваемых, загружаемых или сохраняемых файлов, официально проигрыватель поддерживает обработку информации, объем которой не превышает 100 Мб. Перед тем как вызвать данный метод, следует вызвать метод FileReference.browse()
или FileReferenceList.browse()
.
Прослушиватели получают события для определения состояния, успешности или сбоя загрузки. Несмотря на то, что с помощью объекта FileReferenceList можно предоставить пользователям возможность выбирать для загрузки сразу несколько файлов, загружать эти файлы следует по одному. Для этого надо выполнить итерации в отношении массива FileReferenceList.fileList
объектов FileReference.
Функции FileReference.upload()
, FileReference.download()
, FileReference.load()
и FileReference.save()
не являются блокирующими. Эти функции возвращаются после вызова до завершения операции передачи файла. Кроме этого, если объект FileReference покинет зону действия, любая незавершенная операция в отношении данного объекта будет отменена в момент его выхода из зоны действия. Следите за тем, чтобы объект FileReference оставался в области действия на всем протяжении операции отправки, загрузки или сохранения.
После успешной загрузки файла его содержимое становится доступным в свойстве data
.
allowNetworking
для тегов object
и embed
на странице HTML, содержащей SWF-содержимое.open: — Отправляется в начале операции загрузки. | |
progress: — Отправляется периодически в ходе операции загрузки файла. | |
complete: — Отправляется после успешного завершения операции загрузки файла. | |
ioError: — Вызывается при сбое загрузки вследствие ошибки ввода-вывода, возникшей в тот момент, когда проигрыватель Flash Player осуществлял считывание или запись файла. |
IllegalOperationError — Создается в следующих ситуациях: 1) В текущий момент запущен другой сеанс просмотра FileReference или FileReferenceList (единовременно может быть запущен только один сеанс просмотра файлов). 2) Параметр в файле пользователя mms.cfg запрещает данную операцию.
| |
MemoryError — Данная ошибка возникает в том случае, если проигрыватель Flash Player не может выделить память для указанного файла. Слишком большой файл или очень мало доступной памяти.
|
См. также
save | () | метод |
flash10 function save(data:*, defaultFileName:String = null):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Открывает диалоговое окно, позволяющее пользователю сохранить файл в локальной файловой системе. Несмотря на то, что Flash Player не имеет ограничений на размер передаваемых, загружаемых или сохраняемых файлов, официально проигрыватель поддерживает обработку информации, объем которой не превышает 100 Мб.
Сначала метод save()
открывает диалоговое окно операционной системы, в котором пользователь должен ввести имя файла и выбрать место на локальном компьютере для сохранения этого файла. После того как пользователь выберет нужное место и подтвердит операцию сохранения (например, путем нажатия кнопки "Сохранить"), начнется процесс сохранения. Прослушиватели получают события для определения состояния, успешности или сбоя операции сохранения. Чтобы определить состояние диалогового окна и операции сохранения после вызова метода save()
, ваш код ActionScript должен предусматривать прослушивание таких событий как cancel
, open
, progress
и complete
.
Функции FileReference.upload()
, FileReference.download()
, FileReference.load()
и FileReference.save()
не являются блокирующими. Эти функции возвращаются после вызова до завершения операции передачи файла. Кроме этого, если объект FileReference покинет зону действия, любая незавершенная операция в отношении данного объекта будет отменена в момент его выхода из зоны действия. Следите за тем, чтобы объект FileReference оставался в области действия на всем протяжении операции отправки, загрузки или сохранения.
При успешном сохранении файла свойства объекта FileReference заполняются свойствами локального файла. Событие complete
отправляется при успешном завершении операции сохранения.
Единовременно может выполняться только один сеанс browse()
или save()
(так как в любой момент времени можно вызвать только одно диалоговое окно).
Параметры
data:* — Сохраняемые данные. Данные могут быть представлены в одном из форматов и обработаны соответствующим образом:
| |
defaultFileName:String (default = null ) — Имя файла, отображаемое по умолчанию в диалоговом окне сохранения файла. Данная строка не должна содержать следующие символы: / \ : * ? " < > | %
Если этот параметр опустить, имя файла будет пустым по умолчанию. |
open: — Отправляется при запуске операции загрузки. | |
progress: — Отправляется периодически в ходе операции загрузки файла. | |
complete: — Отправляется после успешного завершения операции загрузки файла. | |
cancel: — Отправляется, когда пользователь закрывает диалоговое окно. | |
select: — Отправляется, когда пользователь выбирает в диалоговом окне файл для загрузки. | |
ioError: — Отправляется, если при считывании или передаче файла возникает ошибка ввода-вывода. |
IllegalOperationError — Создается в следующих ситуациях: 1) В текущий момент запущен другой сеанс просмотра (единовременно может быть запущен только один сеанс просмотра файлов). 2) Имя загружаемого файла содержит запрещенные символы. 3) Параметр в файле пользователя mms.cfg запрещает данную операцию.
| |
ArgumentError — Если параметр data не относится к типу ByteArray и не имеет метода toString() , создается исключение. Если параметр data не относится к типу XML и не имеет метода toXMLString() , создается исключение.
| |
MemoryError — Данная ошибка возникает в том случае, если проигрыватель Flash Player не может выделить память для указанного файла. Слишком большой файл или очень мало доступной памяти.
|
См. также
upload | () | метод |
public function upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Запускает отправку выбранного пользователем файла на удаленный сервер. Несмотря на то, что Flash Player не имеет ограничений на размер передаваемых или загружаемых файлов, официально проигрыватель поддерживает обработку информации, объем которой не превышает 100 МБ.Перед тем как вызвать данный метод, следует вызвать метод FileReference.browse()
или FileReferenceList.browse()
.
Прослушиватели получают события для определения состояния, успешности или сбоя отправки. Несмотря на то, что с помощью объекта FileReferenceList можно предоставить пользователям возможность выбирать для отправки сразу несколько файлов, передавать эти файлы следует по одному. Для этого надо выполнить итерации в отношении массива FileReferenceList.fileList
объектов FileReference.
Функции FileReference.upload()
и FileReference.download()
не являются блокирующими. Эти функции возвращаются после вызова до завершения операции передачи файла. Кроме этого, если объект FileReference покинет зону действия, любая незавершенная отправка или загрузка в отношении данного объекта будет отменена в момент его выхода из зоны действия. Следите за тем, чтобы объект FileReference оставался в области действия на всем протяжении операции отправки или загрузки.
Файл передается на URL-адрес, указанный в параметре url
. В качестве URL-адреса должен выступать сценарий сервера, сконфигурированный на принятие отправки данных. Проигрыватель Flash Player передает файлы с помощью метода POST
по протоколу HTTP. Сценарий сервера, обрабатывающий отправку, должен ожидать запрос POST
со следующими элементами:
Content-Type
со значением multipart/form-data
Content-Disposition
, у которого атрибут name
имеет по умолчанию значение Filedata
, а атрибут filename
указывает имя исходного файла.Нельзя подключаться к общепринятым зарезервированным портам. Полный список заблокированных портов см. в разделе "Ограничение сетевых API-интерфейсов" в главе "Безопасность" книги Программирование на ActionScript 3.0.
Образец запроса POST
представлен в описании параметра uploadDataFieldName
. Параметры POST
или GET
можно отправлять на сервер вместе с методом upload()
(см. описание параметра request
).
Если параметр testUpload
имеет значение true
, а размер передаваемого файла превышает 10 КБ, то в ОС Windows проигрыватель Flash Player сначала отправляет операцию тестовой отправки POST
с нулевым содержимым. Это выполняется до отправки фактического файла с целью проверки механизма передачи. Затем проигрыватель Flash Player отправляет вторую операцию POST
, в которой находится фактическое содержимое файла. При обработке файлов, размер которых не превышает 10 КБ, проигрыватель Flash Player выполняет отдельную отправку POST
, используя при этом фактическое содержимое передаваемого файла. На компьютерах Macintosh проигрыватель Flash Player не выполняет операции тестовой отправки POST
.
Примечание: Если ваш сервер требует аутентификации пользователей, только Flash-приложения, запущенные в обозревателе (то есть, с использованием дополнительного модуля обозревателя или элемента управления ActiveX), могут представить пользователю диалоговое окно для ввода имени пользователя и пароля (для аутентификации) и только потом перейти к загрузкам. При отправке с помощью дополнительного модуля или элемента управления ActiveX, а также при загрузке или отправке данных посредством автономного или внешнего проигрывателя происходит сбой передачи файлов.
При использовании данного метода необходимо продумать модель безопасности проигрывателя Flash Player:
allowNetworking
для тегов object
и embed
на странице HTML, содержащей SWF-содержимое.Однако в Adobe AIR эти ограничения по безопасности не распространяются на содержимое в изолированной программной среде безопасности приложения
(содержимое, установленное с приложением AIR).
Дополнительные сведения о безопасности см. в следующих ресурсах.
Параметры
request:URLRequest — Объект URLRequest. Свойство url объекта URLRequest должно содержать URL-адрес сценария сервера, настроенного на обработку операции отправки с помощью HTTP-вызовов POST . В некоторых обозревателях URL-строки имеют ограниченную длину. Строки длиной свыше 256 символов могут не обрабатываться в некоторых обозревателях и серверах. Если значение этого параметра равно null , создается исключение. Свойство requestHeaders объекта URLRequest игнорируется. Пользовательские заголовки запросов HTTP не поддерживаются ни при отправке, ни при загрузке данных.
Для URL-адреса может использоваться протокол HTTP или HTTPS (для защищенной отправки данных). Для использования HTTPS следует в параметре Чтобы отправить параметры | |
uploadDataFieldName:String (default = "Filedata ") — Имя поля, предшествующее данным файла при операции отправки POST . Значение uploadDataFieldName не должно быть нулевым или пустой строкой. По умолчанию значение uploadDataFieldName равно "Filedata" , как показано в следующем примере запроса POST :
Content-Type: multipart/form-data; boundary=AaB03x --AaB03x Content-Disposition: form-data; name="Filedata"; filename="example.jpg" Content-Type: application/octet-stream ... contents of example.jpg ... --AaB03x-- | |
testUpload:Boolean (default = false ) — Параметр, позволяющий запросить тестовую отправку файла. Если параметр testUpload имеет значение true , то для файлов с размером больше 10 КБ проигрыватель Flash Player инициирует тестовую отправку POST , в которой параметр Content-Length имеет значение 0. При тестовой отправке проверяется, будет ли успешной отправка фактических файлов и, при необходимости, аутентификация сервера. Тестовая отправка доступна только для проигрывателей Windows.
|
open: — Отправляется в начале операции отправки. | |
progress: — Отправляется периодически в ходе операции отправки файла. | |
complete: — Отправляется после успешного завершения операции отправки файла. | |
uploadCompleteData: — Отправляется при получении данных с сервера после успешной отправки файла. | |
securityError: — Отправляется при сбое отправки вследствие нарушения системы безопасности. | |
httpStatus: — Отправляется при возникновении сбоя отправки в результате ошибки протокола HTTP. | |
httpResponseStatus: — Операция отправки успешно завершается и сервер возвращает URL и заголовки ответа. | |
ioError: — Вызывается в любой из следующих ситуаций:
|
SecurityError — Локальные ненадежные SWF-файлы могут быть изолированы от Интернета. Чтобы избежать этой ситуации, следует переклассифицировать данный SWF-файл как "local-with-networking" или доверенный. При создании данное исключение сопровождается сообщением, указывающим имя недоступного локального файла и URL-адрес.
| |
SecurityError — Если вы пытаетесь подключиться к обычно зарезервированному порту. Полный список заблокированных портов см. в разделе "Ограничение сетевых API-интерфейсов" в главе "Безопасность" книги Программирование на ActionScript 3.0.
| |
IllegalOperationError — Создается в следующих ситуациях: 1) В текущий момент запущен другой сеанс просмотра FileReference или FileReferenceList (единовременно может быть запущен только один сеанс просмотра файлов). 2) Параметр URL не является допустимым путем или протоколом. При отправке файлов должен использоваться протокол HTTP, а при загрузке файлов — FTP или HTTP. 3) Параметр uploadDataFieldName имеет значение null . 4) Параметр в файле пользователя mms.cfg запрещает данную операцию.
| |
ArgumentError — Создается в следующих ситуациях: 1) Параметр uploadDataFieldName содержит пустую строку. 2) Параметр url.data имеет тип ByteArray. Для использования с методами FileReference.upload() и FileReference.download() параметр url.data может быть только следующего типа: URLVariables или String. 3) В модуле выполнения AIR (в изолированной программной среде безопасности приложения) метод запроса URLRequest не является GET или POST (вместо этого нужно использовать uploadEncoded() ).
| |
MemoryError — Данная ошибка может возникнуть по следующим причинам: 1) Проигрыватель Flash Player не может преобразовать значение параметра URLRequest.data из UTF8 в MBCS. Данная ошибка применяется, если объект URLRequest, переданный методу FileReference.upload() , настроен на выполнение операции GET , а параметр System.useCodePage имеет значение true. 2) Проигрыватель Flash Player не может выделить память для данных POST . Данная ошибка применима, если объект URLRequest, переданный методу FileReference.upload() , настроен на выполнение операции POST .
|
См. также
![]() | () | метод |
public function uploadUnencoded(request:URLRequest):void
Версии среды выполнения: | AIR 1.0 |
Инициируют отправку файла в URL без кодировки. Тогда как метод upload()
кодирует файл в виде пакета данных, метод uploadUnencoded()
передает содержимое файла как есть в теле запроса НТТР. Используйте метод uploadUnencoded(), если отправляемые данные уже закодированы в формате, понятном для получающего сервера. Обычно метод uploadeUnencoded()
используется вместе с методом HTTP/WebDAV PUT
.
Параметры
request:URLRequest — Объект URLRequest. Свойство url объекта URLRequest должно содержать URL-адрес сценария сервера, настроенного на обработку операции отправки с помощью HTTP-вызовов POST . В некоторых обозревателях URL-строки имеют ограниченную длину. Строки длиной свыше 256 символов могут не обрабатываться в некоторых обозревателях и серверах. Если значение этого параметра равно null , создается исключение.
Для URL-адреса может использоваться протокол HTTP или HTTPS (для защищенной отправки данных). Для использования HTTPS следует в параметре Чтобы отправить параметры |
open: — Отправляется в начале операции отправки. | |
progress: — Отправляется периодически в ходе операции отправки файла. | |
complete: — Отправляется после успешного завершения операции отправки файла. | |
uploadCompleteData: — Отправляется при получении данных с сервера после успешной отправки файла. | |
securityError: — Отправляется при сбое отправки вследствие нарушения системы безопасности. | |
httpStatus: — Отправляется при возникновении сбоя отправки в результате ошибки протокола HTTP. | |
httpResponseStatus: — Операция отправки успешно завершается и сервер возвращает URL и заголовки ответа. | |
ioError: — Вызывается в любой из следующих ситуаций:
|
SecurityError — Локальные ненадежные SWF-файлы могут быть изолированы от Интернета. Чтобы избежать этой ситуации, следует переклассифицировать данный SWF-файл как "local-with-networking" или доверенный. При создании данное исключение сопровождается сообщением, указывающим имя недоступного локального файла и URL-адрес.
| |
IllegalOperationError — Создается в следующих ситуациях: 1) В текущий момент запущен другой сеанс просмотра FileReference или FileReferenceList (единовременно может быть запущен только один сеанс просмотра файлов). 2) Параметр URL не является допустимым путем или протоколом. При отправке файла должен использоваться протокол НТТР.
|
См. также
cancel | Событие |
flash.events.Event
flash.events.Event.CANCEL
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется, когда отправка или загрузка файла прервана пользователем в диалоге просмотра файлов. Проигрыватель Flash Player не отправляет это событие, если пользователь отменяет отправку или загрузку каким-либо другим способом (путем закрытия обозревателя или остановки текущего приложения).
КонстантаEvent.CANCEL
определяет значение свойства type
объекта события cancel
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Ссылка на объект, для которого отменена операция. |
cancel
. Чтобы запустить данный пример, измените свойство downloadURL.url
так, чтобы оно указывало реальный домен и файл, а не выдуманный http://www.[yourDomain].com/SomeFile.pdf. Чтобы обеспечить сетевой доступ к этому файлу, может также потребоваться скомпилировать SWF-файл с установленным для параметра "Безопасность локального воспроизведения" режимом "Доступ только к сети" или обновить параметры безопасности проигрывателя Flash Player.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class FileReference_event_cancel extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_event_cancel() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); file.addEventListener(Event.CANCEL, cancelHandler); file.download(downloadURL, fileName); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } } }
complete | Событие |
flash.events.Event
flash.events.Event.COMPLETE
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется, когда загрузка завершается или в ходе отправки создается код состояния HTTP со значением 200. При загрузке файла это событие отправляется в тот момент, когда Flash Player или Adobe AIR завершает загрузку всего файла на диск. При отправке файла это сообщение отправляется после того, как Flash Player или Adobe AIR получает от принимающего сервера код состояния НТТР со значением 200.
КонстантаEvent.COMPLETE
определяет значение свойства type
объекта complete
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Сетевой объект, который завершил загрузку. |
complete
. Чтобы запустить данный пример, измените свойство downloadURL.url
так, чтобы оно указывало реальный домен и файл, а не выдуманный http://www.[yourDomain].com/SomeFile.pdf. Чтобы обеспечить сетевой доступ к этому файлу, может также потребоваться скомпилировать SWF-файл с установленным для параметра "Безопасность локального воспроизведения" режимом "Доступ только к сети" или обновить параметры безопасности проигрывателя Flash Player.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class FileReference_event_complete extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_event_complete() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); configureListeners(file); file.download(downloadURL, fileName); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } 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 securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url); } } }
См. также
![]() | Событие |
flash.events.HTTPStatusEvent
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется, если вызов метода upload()
или uploadUnencoded()
пытается обратиться к данным через HTTP и Adobe AIR может обнаружить и вернуть код состояния для запроса.
httpStatus
, событие httpResponseStatus
доставляется до получения данных ответа. Таким образом, в событие httpResponseStatus
входят значения свойств responseHeaders
и responseURL
(которые не определены для события httpStatus
). Обратите внимание на то, что httpResponseStatus
(при наличии такового) будет отправляться до (как дополнение) любого события complete
или error
.
Константа HTTPStatusEvent.HTTP_RESPONSE_STATUS
определяет значение свойства type
объекта события httpResponseStatus
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
responseURL | URL-адрес, с которого был получен ответ. |
responseHeaders | Заголовки ответа, возвращаемые в ответе, представляют собой массив объектов URLRequestHeader. |
status | Код состояния HTTP, возвращенный сервером. |
target | Сетевой объект, получающий код состояния НТТР. |
См. также
httpStatus | Событие |
flash.events.HTTPStatusEvent
flash.events.HTTPStatusEvent.HTTP_STATUS
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется, когда при отправке происходит ошибка и доступен код состояния HTTP, описывающий ошибку. Отправляется событие httpStatus
, а после него сразу же отправляется событие ioError
.
Событие httpStatus
отправляется только в случае сбоя операции отправки. Для содержимого, запущенного в проигрывателе Flash Player, это событие не применимо для сбоя загрузки. Если сбой загрузки происходит по причине ошибки HTTP, данная ошибка представляется как ошибка ввода-вывода.
HTTPStatusEvent.HTTP_STATUS
определяет значение свойства type
объекта события httpStatus
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
status | Код состояния HTTP, возвращенный сервером. |
target | Сетевой объект, получающий код состояния НТТР. |
См. также
ioError | Событие |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется в случае ошибки при отправке или загрузке. Сбой при передачи файла может возникнуть по одной из следующих причин:
url
в методе upload()
, содержит недопустимый протокол. Допустимые протоколы: HTTP и HTTPS.Важно! Только приложения, выполняемые в обозревателе (то есть, использующие дополнительный модуль обозревателя или элемент управления ActiveX) и содержимое, выполняемое в Adobe AIR, могут сначала показывать диалоговое окно с запросом имени пользователя и пароля для проверки подлинности и только после этого открывать окно загрузки. Для отправки данных с помощью версии Flash Player, подключаемой к обозревателю или использующей элемент управления ActiveX, или для отправки или загрузки с помощью автономного или внешнего проигрывателя, отправка файлов заканчивается ошибкой.
Задает значение свойстваtype
для объекта события ioError
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Сетевой объект, с которым произошла ошибка ввода/вывода. |
text | Текст, отображаемый в качестве сообщения об ошибке. |
См. также
open | Событие |
flash.events.Event
flash.events.Event.OPEN
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется в начале операции отправки или загрузки.
КонстантаEvent.OPEN
определяет значение свойства type
объекта события open
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Сетевой объект, установивший подключение. |
download
. Чтобы запустить данный пример, измените свойство downloadURL.url
так, чтобы оно указывало реальный домен и файл, а не выдуманный http://www.[yourDomain].com/SomeFile.pdf. Чтобы обеспечить сетевой доступ к этому файлу, может также потребоваться скомпилировать SWF-файл с установленным для параметра "Безопасность локального воспроизведения" режимом "Доступ только к сети" или обновить параметры безопасности проигрывателя Flash Player.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; import flash.net.FileFilter; public class FileReference_download extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_download() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); configureListeners(file); file.download(downloadURL, fileName); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } 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 securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url); } } }
См. также
progress | Событие |
flash.events.ProgressEvent
flash.events.ProgressEvent.PROGRESS
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется периодически в ходе операции отправки или загрузки файла. Событие progress
отправляется в процессе передачи проигрывателем Flash Player байтов на сервер. Оно периодически отправляется в течение всей операции передачи, даже если эта операция в конечном итоге не становится успешной. Чтобы определить, когда произойдет фактическое успешное завершение передачи файла, следует ожидать появления события complete
.
В некоторых случаях события progress
не приходят. Например, при отправке файла очень небольшого размера или при очень быстрой отправке или загрузке событие progress
может быть не отправлено.
Состояние процесса отправки файла не определяется на платформе Macintosh (на любых версиях операционной системы ранее OS X 10.3). Событие progress
вызывается во время операции отправки, но значение свойства bytesLoaded
для события progress равно -1 (состояние не определяется).
type
для объекта события progress
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
bytesLoaded | Число элементов или байт, загруженных на момент обработки события прослушивателем. |
bytesTotal | Общее число элементов или байт, которые в итоге будут получены в случае успешного завершения загрузки. |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Сетевой объект, сообщающий сведения о прогрессе. |
progress
. Чтобы запустить данный пример, измените свойство downloadURL.url
так, чтобы оно указывало реальный домен и файл, а не выдуманный http://www.[yourDomain].com/SomeFile.pdf. Чтобы обеспечить сетевой доступ к этому файлу, может также потребоваться скомпилировать SWF-файл с установленным для параметра "Безопасность локального воспроизведения" режимом "Доступ только к сети" или обновить параметры безопасности проигрывателя Flash Player.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class FileReference_event_progress extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_event_progress() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); file.addEventListener(ProgressEvent.PROGRESS, progressHandler); file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); file.addEventListener(Event.COMPLETE, completeHandler); file.download(downloadURL, fileName); } 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 ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } } }
См. также
securityError | Событие |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется, когда путем вызова метода FileReference.upload()
или FileReference.download()
предпринимается попытка передать файл на сервер или получить файл с сервера, находящегося за пределами изолированной среды вызывающего объекта. Значением текстового свойства, описывающего возникшую специфическую ошибку, обычно является securitySandboxError
. Возможно, вызывающий SWF-файл произвел попытку обращения к SWF-файлу за пределами своего домена, на что у него нет соответствующего разрешения. Для исправления данной ошибки можно использовать файл политики для URL.
В Adobe AIR эти ограничения по безопасности не применяются к содержимому в изолированной программной среде безопасности приложения.
КонстантаSecurityErrorEvent.SECURITY_ERROR
определяет значение свойства type
для объекта события securityError
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Сетевой объект, сообщающий об ошибке безопасности. |
text | Текст, отображаемый в качестве сообщения об ошибке. |
См. также
select | Событие |
flash.events.Event
flash.events.Event.SELECT
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется, когда пользователь выбирает файл для отправки или загрузки в диалоговом окне обозревателя файлов. (Это диалоговое окно открывается при вызове метода FileReference.browse()
, FileReferenceList.browse()
или FileReference.download()
.) Когда пользователь выбирает файл и подтверждает эту операцию (например, путем нажатия кнопки "ОК"), происходит заполнение свойств объекта FileReference.
Для содержимого, выполняемого в Flash Player или за пределами изолированной программной среды приложения в среде выполнения Adobe AIR, событие select
ведет себя немного по-разному в зависимости от вызывающего его метода. Когда событие select
отправляется после вызова метода browse()
, Flash Player или приложение AIR получает возможность считывания всех свойств объекта FileReference, так как выбранный пользователем файл находится в локальной файловой системе. Когда событие select
возникает после вызова download()
, Flash Player илиприложение AIR может считать только свойство name
, так как на момент отправки события select
файл еще не загружен в локальную файловую систему. После того как файл загружен и событие complete
отправлено, Flash Player илиприложение AIR может считывать все остальные свойства объекта FileReference.
Event.SELECT
определяет значение свойства type
объекта события select
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект, в котором выделен элемент. |
select
. Чтобы запустить данный пример, измените свойство uploadURL.url
так, чтобы оно указывало реальный домен и файл, а не выдуманный http://www.[yourDomain].com/SomeFile.pdf. Чтобы обеспечить сетевой доступ к этому файлу, может также потребоваться скомпилировать SWF-файл с установленным для параметра "Безопасность локального воспроизведения" режимом "Доступ только к сети" или обновить параметры безопасности проигрывателя Flash Player. Для того чтобы этот пример можно было запустить с рабочего стола, необходимо, чтобы ваш сервер опубликовал файл crossdomain.xml. Запуск функции ioErrorHandler()
свидетельствует о том, что возможно необходимо обновить предоставленный uploadURL
, указав в нем действующий URL-адрес, настроенный на получение передаваемых данных.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class FileReference_event_select extends Sprite { private var uploadURL:URLRequest; private var file:FileReference; public function FileReference_event_select() { uploadURL = new URLRequest(); uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm"; file = new FileReference(); file.addEventListener(Event.SELECT, selectHandler); file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); file.addEventListener(ProgressEvent.PROGRESS, progressHandler); file.addEventListener(Event.COMPLETE, completeHandler); file.browse(); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url); file.upload(uploadURL); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } 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 { trace("completeHandler: " + event); } } }
uploadCompleteData | Событие |
flash.events.DataEvent
flash.events.DataEvent.UPLOAD_COMPLETE_DATA
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Отправляется после получения с сервера данных о успешном завершении отправки. Это событие не отправляется, если сервер не возвращает данные.
Определяет значение свойстваtype
объекта события uploadCompleteData
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
данные | Необработанные данные, возвращенные сервером после успешной отправки файла. |
target | Объект FileReference, получающий данные после успешной отправки. |
Примечание. Чтобы запустить данный пример, следует изменить свойство uploadURL.url, чтобы вместо фиктивного адреса в этом примере оно указывало фактический (действующий) URL-адрес. URL-адрес должен указывать на файл yourUploadHandlerScript.cfm
в корневом веб-каталоге указанного URL-адреса. В зависимости от вашей конфигурации, чтобы обеспечить сетевой доступ к этому файлу, может также потребоваться скомпилировать SWF-файл с установленным для параметра "Безопасность локального воспроизведения" режимом "Доступ только к сети" или обновить параметры безопасности проигрывателя Flash Player.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileFilter; import flash.net.FileReference; import flash.net.URLRequest; public class FileReferenceExample extends Sprite { private var uploadURL:URLRequest; private var file:FileReference; public function FileReferenceExample() { uploadURL = new URLRequest(); uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm"; file = new FileReference(); configureListeners(file); file.browse(getTypes()); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler); } private function getTypes():Array { var allTypes:Array = new Array(getImageTypeFilter(), 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 cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function uploadCompleteDataHandler(event:Event):void { trace("uploadCompleteData: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } 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 securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url); file.upload(uploadURL); } } }