我正尝试在使用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