Paket | mx.rpc.livecycle |
Klasse | public class DocumentReference |
Vererbung | DocumentReference ![]() |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Adobe Digital Enterprise Platform Data Services für Java EE 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Wenn das Dokument noch nicht auf dem Server liegt, verwenden Sie das LiveCycle Remoting-Servlet zum Hochladen, um das Dokument auf den Server zu stellen und mithilfe der vom Servlet zurückgegebenen URL eine DocumentReference zu erstellen.
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; }
Sie können auch eine FileReferenceList verwenden, um mehrere Dokumente gleichzeitig hochzuladen. Beispiel:
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 ...
Wenn sich das Dokument bereits auf dem Server befindet und der Speicherort bekannt ist, setzen Sie das referenceType-Feld auf REF_TYPE_FILE und definieren Sie für das fileRef-Feld den Speicherort der Datei auf dem Server. Beispiel:
var docRef:DocumentReference = new DocumentReference(); docRef.fileRef = "C:/temp/file1"; docRef.referenceType=DocumentReference.REF_TYPE_FILE;
Wenn sich das Dokument bereits auf dem Server befindet und die zugehörige URL bekannt ist, setzen Sie das referenceType-Feld auf die URL und das URL-Feld auf REF_TYPE_URL. Beispiel:
var docRef:DocumentReference = new DocumentReference(); docRef.url = "http://localhost:8080/DocumentManager/1168728809000/7855483216115920647"; docRef.referenceType=DocumentReference.REF_TYPE_URL;
Außerdem können Sie ein Dokument aus einem Textstück auf dem Client erstellen. Auf dem Server wird dieser String zunächst in ein Byte-Array und anschließend in ein serverseitiges Dokument konvertiert. Standardmäßig wird der Standardzeichensatz des Servers für die Konvertierung in ein Byte-Array verwendet. Wenn ein anderer Zeichensatz verwendet werden soll, kann dieser über die charsetName-Eigenschaft dieses Objekts festgelegt werden. Beispiel:
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>";
Abschließend können Sie ein Dokument aus den Binärdaten auf dem Client erstellen. Diese Binärdaten werden in ein serverseitiges Dokument umgewandelt. Dieser Vorgang eignet sich bei einer geringen Datenmenge. Dabei wird der Inhalt nicht auf den Server hochgeladen und keine URL verwendet. Beim Festlegen von contentType im Verweis wird der Typ im Dokument definiert, wenn der serverseitige Code diesen Wert nicht feststellen kann. Beispiel:
var image:ByteArray = ... var docRef:DocumentReference = new DocumentReference(); docRef.referenceType = DocumentReference.REF_TYPE_INLINE; docRef.bytes = image; docRef.contentType = "image/jpg";
Flex-Clients erhalten Objekte des Typs DocumentReference.as für LC-Vorgänge, die Dokumente als Ausgabeparameter zurückgeben. Der referenceType des DocumentReference-Objekts informiert den Client, ob sich der Inhalt im DocumentReference-Objekt selbst oder in der DocumentReference.xml (bei XML-Dokumenten) befindet oder über eine URL (DocumentReference.url) abgerufen werden muss. Das DocumentReference.contentType-Feld informiert den Client über den Dokumenttyp.
Eigenschaft | Definiert von | ||
---|---|---|---|
![]() | constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object |
Methode | Definiert von | ||
---|---|---|---|
![]() |
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | |
![]() |
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | |
![]() |
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | |
![]() |
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | |
![]() |
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | |
![]() |
Gibt das angegebene Objekt als String zurück. | Object | |
![]() |
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
Konstante | Definiert von |
---|
Tue Jun 12 2018, 10:04 AM Z