1

EMC Documentum コンテンツ管理システムを使用しています。独自の API を使用して、一部のファイルのインポート (CMS リポジトリへのファイルの移動) を自動化しようとしています。(この次の文でパニックにならないでください。よく読んでください。EMC 独自の API については知らないかもしれません) そのためには、まず type のオブジェクトを作成し、次にそのオブジェクトをインポートを実行IDfFileするオブジェクトに渡す必要があります。IDfImportNode.add()

私がやりたいことは、実行時に 1 つのサーバーからファイルをフェッチし、すぐにインポート操作を実行することです。フェッチしたファイルをディスクに保存せずに、これらすべてをメモリ内で実行したい-これらのファイルは機密であるため

ただし、問題は、IdfFile(string)インポートするファイルの絶対パスを取ることです。したがって、ファイルはディスク上に物理的に存在する必要があり、インポート後にファイルを削除した後でも、最終的にはファイルの痕跡がディスク上に残ります。オブジェクトを取ることができるかどうか推測してStreamいましたが、そのようなオーバーロードはありません。

したがって、ディスクに保存する前にファイルを暗号化できるかどうか、またはその他の方法でファイルを暗号化できるかどうかを知りたいです。または、適切な API メソッドを提供するよう EMC の担当者に依頼します。

4

3 に答える 3

1

これを行う方法は、メソッドを使用するIDfSysObject.setContent()ことです。インポート操作の便利さを使用できないため、より多くのコードになりますが、ストリームを保存できるはずです。おそらく次のようなものです(ただし、すでにどこかからのストリームがあります):

File pdfInput = new File("C:\\Rupinder\\MyFile.txt");
byte[] outBytes = new byte[(int)pdfInput.length()];

FileInputStream fileInputStream = new FileInputStream(pdfInput);
fileInputStream.read(outBytes);

ByteArrayOutputStream out = new ByteArrayOutputStream();
out.write(outBytes);

IDfSysObject sysObj = (IDfSysObject)session.newObject("c_pdf");
sysObj.setObjectName("testDoc");
sysObj.setContentType("crtext");
sysObj.setTitle("import operation");
sysObj.link("/Temp/Source Folder"); 
sysObj.setContent(out);
sysObj.save();

ソース: https://community.emc.com/message/98225

于 2013-10-30T17:08:17.013 に答える