2013-10-30 60 views
0

如何使用Rest API在Alfresco中創建某種類型的文檔。我希望收到發送請求的URL和所需參數列表。試圖用http://wiki.alfresco.com/wiki/Repository_RESTful_API_Reference#Create_folder_or_document_.28createDocument.2C_createFolder.29,但它沒有工作,因爲它不能確定哪些參數發送到這個API如何通過REST API在Alfresco中創建新文檔?

+1

你使用哪種版本的Alfresco? 您是否想要使用CMIS或Alfresco的內部REST API? 您的文檔應包含哪種類型,您是否擁有自定義內容模型? 你想在哪裏創建文檔? – alfrescian

+0

我使用的是Alfresco 4.2.c的一個版本。我想使用內部REST API,文檔必須是由我創建的類型nid_employeeType,Model創建的文檔,必須在具有名稱的文件夾中創建文檔在名爲Jazz的站點中組織文檔庫 – Yauheni

+0

是否要創建文件還是上傳文件? – alfrescian

回答

0

您可以創建您的owen webscript REST並根據您的喜好進行個性化處理,或者您可以使用此webscript「/ api/upload」。

0

要創建文檔,您需要使用cmis系列的查詢。查詢如下:

nodeRef = b544cd67-e839-4c60-a616-9605fa2affb7; 
xml = '<?xml version="1.0" encoding="utf-8"?>' + 
    '<entry xmlns="http://www.w3.org/2005/Atom" 
xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" 
xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/">' + 
     '<title>name</title>' + 
     '<summary>name</summary>' + 
     '<cmisra:object>' + 
     '<cmis:properties>' + 
     '<cmis:propertyId propertyDefinitionId="cmis:objectTypeId">' + 
     '<cmis:value>type</cmis:value>' + 
     '</cmis:propertyId>' + 
     '</cmis:properties>' + 
     '</cmisra:object>' + 
     '</entry>'; 

    url: "/../alfresco/service/api/node/workspace/SpacesStore/" + nodeRef + "/children", 
    method: "POST", 
    headers: { 
     "Content-Type": "application/atom+xml;type=entry" 
    }, 
xml:xml 

name - document name;

type - document type;

nodeRef - Alfresco中的文件夾ID。

要在類型中創建文檔,請指定cmis:document。其他疑問,您可以在這裏找到:

http://jazzteam.org/en/technical-articles/list-of-alfresco-services/

1

將使用REST API,而不是CIMS

import json 
import requests 
import os, sys 

strUrl = 'http://your.site.com:8080/alfresco/service/api/' 
strAuth = ('username', 'password') 
strFilename = "somethingtoupload.pdf" 
objFile= {'filedata' : open(strFilename,'rb')} 
strData={'siteid': 'site','containerid': 'documentlibrary', 'uploaddirectory': 'somefolder'} 

result = requests.post (strUrl+'upload',files=objFile,data=strData,auth=strAuth) 
print result.status_code