我正在使用文件上传器通过cmis连接上传文档。我已经在neo试用帐户中创建了一个目标。
此外,我正在进行ajax调用以将其其余数据作为服务上传到文档。
查看.xml
FileUploader id="fileUploader" name="myFileUpload" uploadUrl="/cmis/4f1abc71a1788bc6c05f54a5/root" width="400px" tooltip="将您的文件上传到本地服务器" uploadComplete="handleUploadComplete" change='onChangeDoc'/>
控制器.js
var BASE64_MARKER = 'data:' + file.type + ';base64,';
var reader = new FileReader();
reader.onload = (function(theFile) {
return function(evt) {
var base64Index = evt.target.result.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
var base64 = evt.target.result.substring(base64Index);
var data = {
'propertyId[0]': 'cmis:objectTypeId',
'propertyValue[0]': 'cmis:document',
'propertyId[1]': 'cmis:name',
'propertyValue[1]': file.name,
'cmisaction': 'createDocument',
'documentInputStream': base64
};
var formData = new FormData();
jQuery.each(data, function(key, value) {
formData.append(key, value);
});
$.ajax({
type: 'POST',
url: '/cmis/4f1abc71a1788bc6c05f54a5/root',
data: formData,
cache: false,
contentType: false,
processData: false,
success: function(response) {
sap.m.MessageToast.show("File Uploaded Successfully");
},
error: function(error) {
sap.m.MessageToast.show("File Uploaded Unsuccessfully");
}
});
};
})(file);
reader.readAsDataURL(file);
文档已上载,但未上载内容。
错误:
{ 例外:"约束",消息:"无可用内容:对象 ID =px7goMt94zMxekyiUqQQBPWQd63-TYivo90adO1Eyxk repositoryid =4f1abc71a1788bc6c05f54a5" }
谁能在这里帮我?
最后,我找到了解决这个问题的方法。
在视图中.xml添加以下行。
<FileUploader id="fileUploader" name="myFileUpload" uploadUrl="/cmis/root"
width="400px" tooltip="Upload your file to the local server" uploadComplete="handleUploadComplete" change='onChangeDoc'/>
上传网址将是指向 NEO 目标的网址。在 neo.app.json 中添加以下行。
{
"path": "/cmis",
"target": {
"type": "destination",
"name": "documentservice"
},
"description": "documentservice"
}
在控制器中.js添加以下代码行。
if (!oFileUploader.getValue()) {
sap.m.MessageToast.show("Choose a file first");
return;
}
var data = {
'propertyId[0]': 'cmis:objectTypeId',
'propertyValue[0]': 'cmis:document',
'propertyId[1]': 'cmis:name',
'propertyValue[1]': file.name,
'cmisaction': 'createDocument'
};
var formData = new FormData();
formData.append('datafile', new Blob([file]));
jQuery.each(data, function(key, value) {
formData.append(key, value);
});
$.ajax('/cmis/root', {
type: 'POST',
data: formData,
cache: false,
processData: false,
contentType: false,
success: function(response) {
sap.m.MessageToast.show("File Uploaded Successfully");
}.bind(this),
error: function(error) {
sap.m.MessageBox.error("File Uploaded Unsuccessfully. Save is not possible. " + error.responseJSON.message);
}
});
在 neo 云中,在目标选项卡中维护用于以下配置的 URL。
https://testdaasi328160trial.hanatrial.ondemand.com/TestDaaS/cmis/json/repo-id
存储库 ID 将是存储库密钥。
这将解决问题。您将能够上传和文档。
问候,帕万。