如何使用文件上传器使用文件上传器为cmis工作台上传文件?

时间:2018-01-09 04:39:27

标签: sapui5 jquery-file-upload cmis cmis-workbench

我正在使用文件上传器使用cmis连接上传文档。 我在neo试用帐户中创建了一个目的地。

此外,我正在进行ajax调用,将其余数据作为服务上传到文档中。

view.xml用

  

FileUploader id =“fileUploader”name =“myFileUpload”uploadUrl =“/ cmis / 4f1abc71a1788bc6c05f54a5 / root”width =“400px”tooltip =“将文件上传到本地服务器”uploadComplete =“handleUploadComplete”change ='onChangeDoc' />

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 个答案:

答案 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将是您的存储库密钥。

这将解决问题。你将能够上传文件。

问候,帕万。