Пакет | mx.rpc.livecycle |
Класс | public class DocumentReference |
Наследование | DocumentReference ![]() |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Если документ не находится на сервере, используйте сервлет выгрузки LiveCycle Remoting для выгрузки документа на сервер и создания DocumentReference с помощью URL-адреса, возвращенного этим сервлетом.
import flash.events.DataEvent; import flash.net.FileReference; private function startUpload():void { fileRef.addEventListener(Event.SELECT, selectHandler); fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, completeHandler); try { var success:Boolean = fileRef.browse(); } catch (error:Error) { trace("Unable to browse for files."); } } private function selectHandler(event:Event):void { var request:URLRequest = new URLRequest("http://SERVER:PORT/remoting/lcfileupload") try { fileRef.upload(request); } catch (error:Error) { trace("Unable to upload file."); } } private function completeHandler(event:DataEvent):void { var params:Object = new Object(); var docRef:DocumentReference = new DocumentReference(); docRef.url = event.data as String; docRef.referenceType = DocumentReference.REF_TYPE_URL; }
Для одновременной загрузки нескольких документов можно также использовать FileReferenceList. Например:
import flash.events.DataEvent; import flash.net.FileReference; import flash.net.FileReferenceList; private function startUpload():void { pendingFiles = new Array(); documents = new Array(); fileRefList.addEventListener(Event.SELECT, selectHandler); try { var success:Boolean = fileRefList.browse(); } catch (error:Error) { trace("Unable to browse for files."); } } private function selectHandler(event:Event):void { var file:FileReference; for (var i:uint = 0; i < fileRefList.fileList.length; i++) { file = FileReference(fileRefList.fileList[i]); try { addPendingFile(file); } catch (error:Error) { Alert.show("Unable to upload file."); } } } private function addPendingFile(file:FileReference):void { trace("addPendingFile: name=" + file.name); var request:URLRequest = new URLRequest("http://10.60.147.127:8080/remoting/lcfileupload"); pendingFiles.push(file); file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, completeHandler); file.upload(request); } private function removePendingFile(file:FileReference):void { for (var i:uint; i < pendingFiles.length; i++) { if (pendingFiles[i].name == file.name) { pendingFiles.splice(i, 1); } } } private function completeHandler(event:DataEvent):void { var params:Object = new Object(); var docRef:DocumentReference = new DocumentReference(); docRef.url = event.data as String; docRef.referenceType = DocumentReference.REF_TYPE_URL; documents.push(docRef); var file:FileReference = FileReference(event.target); removePendingFile(file); if (pendingFiles.length == 0) { // invoke a serivce that takes a collection of documents as an argument here // using the "documents" array ...
Если документ уже находится на сервере и известно его местоположение, установите для поля referenceType значение REF_TYPE_FILE, а в поле fileRef укажите местоположение файла на сервере. Например:
var docRef:DocumentReference = new DocumentReference(); docRef.fileRef = "C:/temp/file1"; docRef.referenceType=DocumentReference.REF_TYPE_FILE;
Если документ уже находится на сервере и известен его URL-адрес, укажите в поле referenceType URL-адрес, а для поля url установите значение REF_TYPE_URL. Например:
var docRef:DocumentReference = new DocumentReference(); docRef.url = "http://localhost:8080/DocumentManager/1168728809000/7855483216115920647"; docRef.referenceType=DocumentReference.REF_TYPE_URL;
Кроме того, можно создать документ из фрагмента текста в клиенте. На сервере эта строка сначала будет преобразована в массив байтов, а затем в документ на стороне сервера. По умолчанию для преобразования в массив байтов используется стандартный набор символов сервера. При необходимости можно указать другой набор символов с помощью свойства charsetName этого объекта. Например:
var docRef:DocumentReference = new DocumentReference(); docRef.referenceType = DocumentReference.REF_TYPE_INLINE; docRef.text = "Text for my document"; // to override server's default character set uncomment and set character set name // docRef.charsetName = "<name of your charset>";
В завершение, документ можно создать из доступных в клиенте двоичных данных. Эти двоичные данные будет преобразованы в документ на стороне сервера. Этот способ может использоваться для небольшого объема данных вместо загрузки содержимого на сервер и использования URL-адреса. Если установить contentType для ссылки, то он будет установлен для документа, если это не указывается кодом на стороне сервера. Например:
var image:ByteArray = ... var docRef:DocumentReference = new DocumentReference(); docRef.referenceType = DocumentReference.REF_TYPE_INLINE; docRef.bytes = image; docRef.contentType = "image/jpg";
Клиенты Flex получат объекты типа DocumentReference.as для операций LC, возвращающих документы в качестве выходных параметров. referenceType объекта DocumentReference позволит клиенту узнать, находится ли содержимое непосредственно в объекте DocumentReference, файле DocumentReference.xml (в случае XML-документов) или оно должно быть извлечено через URL-адрес DocumentReference.url. Поле DocumentReference.contentType позволит клиенту узнать тип документа.
Свойство | Определено | ||
---|---|---|---|
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object |
Метод | Определено | ||
---|---|---|---|
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | |
![]() |
Возвращает строковое представление заданного объекта. | Object | |
![]() |
Возвращает элементарное значение заданного объекта. | Object |
Константа | Определено |
---|
Tue Jun 12 2018, 11:34 AM Z