包 | 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 远程上载 servlet 将文档上载到服务器,并使用该 servlet 返回的 URL 创建 DocumentReference。
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;
还可以从客户端上的文本片断创建 Document。在服务器上,首先将此字符串转换为 Byte 数组,然后再转换为服务器端 Document。默认情况下,转换为 Byte 数组时将使用服务器的默认字符集。如果需要使用其它字符集,则可以通过此对象的 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>";
最后,可以从客户端上提供的二进制数据创建 Document。此二进制数据将转换为服务器端的 Document。如果只有少量数据,而不是将内容上载到服务器并使用 URL,则可以使用此方法。如果您在引用上设置 contentType,则当服务器端代码不自己计算 contentType 时将在文档上对其进行设置。例如:
var image:ByteArray = ... var docRef:DocumentReference = new DocumentReference(); docRef.referenceType = DocumentReference.REF_TYPE_INLINE; docRef.bytes = image; docRef.contentType = "image/jpg";
Flex 客户端将为作为输出参数返回 Document 的 LC 操作接收类型为 DocumentReference.as 的对象。DocumentReference 对象的 referenceType 将使客户端知道内容是在 DocumentReference 对象本身内和 DocumentReference.xml(XML 文档的情形)内,还是需要通过一个 URL (DocumentReference.url) 进行检索。DocumentReference.contentType 字段将使客户端知道文档的类型。
方法 | 由以下参数定义 | ||
---|---|---|---|
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
![]() |
返回指定对象的原始值。 | Object |
常量 | 由以下参数定义 |
---|
Tue Jun 12 2018, 11:04 AM Z