패키지 | 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 |
If the document is not yet on the server, use the LiveCycle Remoting upload servlet to get the document to the server and create a DocumentReference using the URL returned by the servlet.
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; }
You can also use FileReferenceList to upload multiple documents together. For example:
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 ...
If the document is already on the server and its file location is known, set the referenceType field to REF_TYPE_FILE and the fileRef field to the location of the file on the server. For example:
var docRef:DocumentReference = new DocumentReference(); docRef.fileRef = "C:/temp/file1"; docRef.referenceType=DocumentReference.REF_TYPE_FILE;
If the document is already on the server and its URL is known, set the referenceType field to URL and the url field to the REF_TYPE_URL. For example:
var docRef:DocumentReference = new DocumentReference(); docRef.url = "http://localhost:8080/DocumentManager/1168728809000/7855483216115920647"; docRef.referenceType=DocumentReference.REF_TYPE_URL;
You can also create a Document from a piece of text on the client. On the server this string will be first converted into a Byte array and then into a server side Document. By default, the server's default character set will be used for the conversion into a Byte array. If it is desired that another character set be used, it may be specified via the charsetName property of this object. For example:
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>";
Finally, you can create a Document from binary data available on the client. This binary data will be turned in to a server side Document. This can be used when you have small amounts of data instead of uploading the content to the server and using a URL. If you set the contentType on the reference it will be set on the document if the server side code does not figure it out on its own. For example:
var image:ByteArray = ... var docRef:DocumentReference = new DocumentReference(); docRef.referenceType = DocumentReference.REF_TYPE_INLINE; docRef.bytes = image; docRef.contentType = "image/jpg";
Flex clients will receive objects of type DocumentReference.as for LC operations that return Documents as output parameters. The DocumentReference object's referenceType will let the client know whether the content is in the DocumentReference object itself, DocumentReference.xml (the case for XML documents) or needs to be retrieved via a URL, DocumentReference.url. The DocumentReference.contentType field will let the client know the type of document.
속성 | 정의 주체 | ||
---|---|---|---|
![]() | constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object |
메서드 | 정의 주체 | ||
---|---|---|---|
![]() |
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | |
![]() |
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | |
![]() |
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | |
![]() |
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | |
![]() |
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | |
![]() |
지정된 객체의 문자열 표현을 반환합니다. | Object | |
![]() |
지정된 객체의 프리미티브 값을 반환합니다. | Object |
상수 | 정의 주체 |
---|
Tue Jun 12 2018, 03:17 PM Z