我正在使用文件上传器使用cmis连接上传文档。 我在neo试用帐户中创建了一个目的地。
此外,我正在进行ajax调用,将其余数据作为服务上传到文档中。
FileUploader id =“fileUploader”name =“myFileUpload”uploadUrl =“/ cmis / 4f1abc71a1788bc6c05f54a5 / root”width =“400px”tooltip =“将文件上传到本地服务器”uploadComplete =“handleUploadComplete”change ='onChangeDoc' />
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);
文档已上传,但内容未上传。
{例外:“约束”,消息:“没有可用的内容:objectid = px7goMt94zMxekyiUqQQBPWQd63-TYivo90adO1Eyxk repositoryid = 4f1abc71a1788bc6c05f54a5“}
有人可以帮我吗?
答案 0 :(得分:0)
最后,我找到了解决这个问题的方法。
在view.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"
}
在controller.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 cloud中,维护目标选项卡中的以下配置的URL。
https://testdaasi328160trial.hanatrial.ondemand.com/TestDaaS/cmis/json/repo-id
repo-id将是您的存储库密钥。
这将解决问题。你将能够上传文件。问候,帕万。