我正嘗試在使用Javascript的HCP的SAP文檔中心中創建文檔,但我不能。 SAP Document Center使用CMIS協議與其他應用程序通信。我已經能夠從SAPUI5應用程序與SAP Document Center進行連接。我也成功創建了一個文件夾,如下所示:在Javascript中使用CMIS創建文檔
createFolder: function(repositoryId, parentFolderId, folderName) {
var data = {
objectId: parentFolderId,
cmisaction: "createFolder",
"propertyId[0]": "cmis:name",
"propertyValue[0]": folderName,
"propertyId[1]": "cmis:objectTypeId",
"propertyValue[1]": "cmis:folder"
};
$.ajax("/destination/document/mcm/json/" + repositoryId + "/root", {
type: "POST",
data: data
}).done(function() {
MessageBox.show("Folder with name " + folderName + " successfully created.");
}).fail(function(jqXHR) {
MessageBox.show("Creation of folder with name " + folderName + " failed. XHR response message: " + jqXHR.responseJSON.message);
});
},
但是,我發現無法創建文檔。我找不到CMIS「createDocument」方法的Internet樣本。 Java有很多例子,但與Javascript無關。我不知道要發送的數據結構如何。代碼如下:
createDocument: function(repositoryId, parentFolderId, documentName, content) {
/**
* 'content' contains the whole document converted to a base64 string like this:
* "data:application/pdf;base64,JVBERi0xLjUNJeLjz9MNCjIxNCAwIG9iag08P..."
*/
var data = {
objectId: parentFolderId,
cmisaction: "createDocument",
contentStream: content,
"propertyId[0]": "cmis:name",
"propertyValue[0]": documentName,
"propertyId[1]": "cmis:objectTypeId",
"propertyValue[1]": "cmis:document"
};
$.ajax("/destination/document/mcm/json/" + repositoryId + "/root", {
type: "POST",
data: data
}).done(function() {
MessageBox.show("Document with name " + documentName + " successfully created.");
}).fail(function(jqXHR) {
MessageBox.show("Creation of document with name " + documentName + " failed. XHR response message: " + jqXHR.responseJSON.message);
});
},
有了這個,我創建SAP文檔中心內的文件記錄,但它並不需要的數據。創建一個未格式化的文件,它應該有格式發送(PDF,txt,Excel,Doc,...)。
有誰知道該怎麼做?
問候。
鏈接的興趣:
CMIS標準 http://docs.oasis-open.org/cmis/CMIS/v1.1/os/CMIS-v1.1-os.html#x1-1710002
的Java(不是JavaScript)的使用示例 http://chemistry.apache.org/java/developing/guide.html
您是否嘗試將內容類型設置爲'multipart/form-data'? – danpop