2016-08-10 63 views
0

我對Nuxeo更新。我已經使用Java自動化客戶端API將我的Portal與Nuxeo 8.1 CE &集成,我正在從我的Portal中執行Nuxeo中的操作。我的問題是我想在單個文檔上附加多個文件。我發現它的運作爲BlobHolder.Attachhttp://explorer.nuxeo.com/nuxeo/site/distribution/Nuxeo%20DM-5.5/listOperationsNUXEO在單個文檔上附加多個文件

但我無法找到任何這樣的操作的例子。這個操作的任何例子都會有很大的幫助。

回答

0

https://www.nuxeo.com/blog/qa-friday-add-extra-files-document-content-automation/

這裏是設置幾個斑點來記錄文檔。 我不確定,但您可以嘗試在連鎖呼叫中設置Blob,如下例所示。

HttpAutomationClient client = new HttpAutomationClient("http://localhost:8080/nuxeo/site/automation"); 
Session session = client.getSession("Administrator", "Administrator"); 
File dummyFile = new File("/tmp/dummy"); 
session.newRequest("Blob.AttachOnDocument") 
    .set("document", "/path/to/my/doc") 
    .set("xpath", "files:files") 
    .setInput(new Blobs(Arrays.asList(
      new FileBlob(dummyFile), 
      new FileBlob(dummyFile), 
      new FileBlob(dummyFile) 
    ))).execute(); 
+0

感謝Blowder先生。它爲我工作。 –

0

這裏我附上的實現方法:

String attachmentPath = null; 
    if (!ioFiles.isEmpty()) { 
     Session adminSession = NuxeoUtil.getNuxeoAdminSession(); 
     Document collectionDoc = null; 
     try { 
      collectionDoc = (Document) adminSession.newRequest(DocumentService.FetchDocument) 
        .set(NuxeoConstants.NUXEO_VALUE, originalCollectionId).execute(); 
      DocumentService rs = adminSession.getAdapter(DocumentService.class); 
      DocRef docRef = new DocRef(originalCollectionId); 
      attachmentPath = collectionDoc.getPath(); 
      if (docRef != null) { 
       for (File file : ioFiles) { 
        Blob blob = new FileBlob(file); 
        rs.setBlob(docRef, blob, "files:files"); 
       } 
      } 
      NuxeoUtil.closeNuxeoSession(adminSession); 
     } catch (Exception e) { 
      _log.error(e); 
     } 
    }