パッケージ | 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 アップロードサーブレットを使用してドキュメントをサーバーにアップロードし、サーブレットから返される 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;
クライアント上のテキストからドキュメントを作成することもできます。サーバー上で、このストリングは最初に Byte 配列に変換された後、サーバー側のドキュメントに変換されます。デフォルトでは、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>";
最後に、クライアント上で使用できるバイナリデータからドキュメントを作成できます。このバイナリデータは、サーバー側のドキュメントに変換されます。サーバーにコンテンツをアップロードして URL を使用する代わりに、少量のデータがある場合は、これを使用できます。参照で contentType を設定すると、サーバー側のコードが自身でそれを解決できない場合は、ドキュメントで設定されます。次に実際の使用例を示します。
var image:ByteArray = ... var docRef:DocumentReference = new DocumentReference(); docRef.referenceType = DocumentReference.REF_TYPE_INLINE; docRef.bytes = image; docRef.contentType = "image/jpg";
Flex クライアントは、出力パラメーターとしてドキュメントを返す LC 操作に対しては、DocumentReference タイプのオブジェクトを受け取ります。DocumentReference オブジェクトの referenceType により、クライアントは、コンテンツが DocumentReference オブジェクト自体にあるのか、DocumentReference.xml にあるのか(XML ドキュメントの場合)、または URL、DocumentReference.url から取得する必要があるのかを知ることができます。DocumentReference.contentType フィールドにより、クライアントはドキュメントのタイプを知ることができます。
プロパティ | 定義元 | ||
---|---|---|---|
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object |
メソッド | 定義元 | ||
---|---|---|---|
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() |
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object |
定数 | 定義元 |
---|
Tue Jun 12 2018, 10:34 AM Z