Как загрузить файл, используя загрузчик файлов для CMIS Workbench, используя загрузчик файлов?
Я использую загрузчик файлов для загрузки документа с использованием cmis-соединения. Я создал пункт назначения в нео-пробном аккаунте.
Также я делаю вызов ajax, чтобы загрузить остальные данные в документ в качестве службы.
view.xml
FileUploader id = "fileUploader" name = "myFileUpload" uploadUrl = "/ cmis / 4f1abc71a1788bc6c05f54a5 / root" width = "400px" tooltip = "Загрузить свой файл на локальный сервер" uploadComplete="handleUploadComplete" change='onChange
controller.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);
Документ загружен, но содержимое не загружается.
Ошибка:
{исключение: "ограничение", сообщение: "Содержимое недоступно: objectid = px7goMt94zMxekyiUqQQBPWQd63-TYivo90adO1Eyxk repositoryid = 4f1abc71a1788bc6c05f54a5" }
Может кто-нибудь помочь мне здесь?
1 ответ
Наконец-то я нашел решение этой проблемы.
В view.xml добавьте следующие строки.
<FileUploader id="fileUploader" name="myFileUpload" uploadUrl="/cmis/root"
width="400px" tooltip="Upload your file to the local server" uploadComplete="handleUploadComplete" change='onChangeDoc'/>
URL-адрес загрузки будет являться URL-адресом пункта назначения 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);
}
});
В нео облако сохраните URL для следующей конфигурации на вкладке назначения.
https://testdaasi328160trial.hanatrial.ondemand.com/TestDaaS/cmis/json/repo-id
ID репо будет вашим ключом хранилища.
это решит проблему. У вас будет возможность загрузить и документ.
С уважением, Паван.