包 | mx.rpc.livecycle |
类 | public class DocumentReference |
继承 | DocumentReference Object |
语言版本: | 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 字段将使客户端知道文档的类型。
属性 | 由以下参数定义 | ||
---|---|---|---|
bytes : ByteArray
如果 DocumentReference 是基于客户端上提供的二进制内容创建的,则客户端应该设置此字段。 | DocumentReference | ||
charsetName : String
如果使用 REF_TYPE_INLINE 选项创建 DocumentReference 并且已设置此对象的文本字段,则可以设置此字段以确定在服务器上使用的字符集,以便将传入的文本字符串转换为字节数组。 | DocumentReference | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
contentType : String
文档的内容类型的字符串代码。 | DocumentReference | ||
fileRef : String
当引用类型为 FILE 时填充。 | DocumentReference | ||
referenceType : int
引用类型 — REF_TYPE_URL、REF_TYPE_FILE 或 REF_TYPE_INLINE。 | DocumentReference | ||
text : String
如果从客户端上提供的文本字符串创建 DocumentReference,则客户端应该设置此字段。 | DocumentReference | ||
url : String
当引用类型为 URL 时填充。 | DocumentReference | ||
xml : String
针对通过内置方法传递内容的 XML 文档填充。 | DocumentReference |
方法 | 由以下参数定义 | ||
---|---|---|---|
[静态]
构造为远程目的上载文档时要使用的请求。 | DocumentReference | ||
返回指定属性的值。 | DocumentReference | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
返回 DocumentReference 的属性名称列表。 | DocumentReference | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从属性列表中删除属性。 | DocumentReference | ||
向 Document 的属性列表添加属性。 | DocumentReference | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
常量 | 由以下参数定义 | ||
---|---|---|---|
REF_TYPE_FILE : uint = 2 [静态]
通过 Document 的目录位置对 LC 服务器上的 Document 的引用。 | DocumentReference | ||
REF_TYPE_INLINE : uint = 3 [静态]
不引用 Document 内容,但随此对象包含 Document 内容。 | DocumentReference | ||
REF_TYPE_URL : uint = 1 [静态]
通过指向由 LC DocumentManager 提供的 LC 服务器的 URL,对 Document 的引用。 | DocumentReference |
bytes | 属性 |
public var bytes:ByteArray
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
如果 DocumentReference 是基于客户端上提供的二进制内容创建的,则客户端应该设置此字段。在这种情况下,应该将 referenceType 设置为 REF_TYPE_INLINE。
charsetName | 属性 |
public var charsetName:String
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
如果使用 REF_TYPE_INLINE 选项创建 DocumentReference 并且已设置此对象的文本字段,则可以设置此字段以确定在服务器上使用的字符集,以便将传入的文本字符串转换为字节数组。如果不设置此字段,则使用服务器的默认字符集。
contentType | 属性 |
public var contentType:String
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
文档的内容类型的字符串代码。例如,“text/xml”。
fileRef | 属性 |
public var fileRef:String
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
当引用类型为 FILE 时填充。
referenceType | 属性 |
public var referenceType:int
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
引用类型 — REF_TYPE_URL
、REF_TYPE_FILE
或 REF_TYPE_INLINE
。
text | 属性 |
public var text:String
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
如果从客户端上提供的文本字符串创建 DocumentReference,则客户端应该设置此字段。在这种情况下,应该将 referenceType 设置为 REF_TYPE_INLINE。
url | 属性 |
public var url:String
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
当引用类型为 URL 时填充。
xml | 属性 |
public var xml:String
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
针对通过内置方法传递内容的 XML 文档填充。
constructRequestForUpload | () | 方法 |
public static function constructRequestForUpload(serverURL:String, authToken:String):URLRequest
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
构造为远程目的上载文档时要使用的请求。返回的请求是要与 flash.net.FileReference
一起使用的。应该将其作为参数传递给 upload
函数。
参数
serverURL:String — 要将文档上载到的服务器的 URL。例如“http://localhost:8080”或“https://localhost:8443”。
| |
authToken:String — 文件上传身份验证标记,通过调用 LC.FileUploadAuthenticator RemoteObject 目标的 getFileUploadToken 来返回。在尝试上传文件之前,必须对服务器请求身份验证,或者使用单一登录。
|
URLRequest — 为远程目的上载文档时要使用的请求。
|
getAttribute | () | 方法 |
listAttributes | () | 方法 |
removeAttribute | () | 方法 |
setAttribute | () | 方法 |
REF_TYPE_FILE | 常量 |
public static const REF_TYPE_FILE:uint = 2
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
通过 Document 的目录位置对 LC 服务器上的 Document 的引用。
REF_TYPE_INLINE | 常量 |
public static const REF_TYPE_INLINE:uint = 3
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
不引用 Document 内容,但随此对象包含 Document 内容。
REF_TYPE_URL | 常量 |
public static const REF_TYPE_URL:uint = 1
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
通过指向由 LC DocumentManager 提供的 LC 服务器的 URL,对 Document 的引用。
Tue Jun 12 2018, 11:04 AM Z