如何使用文件上传器上传文件,用于CMIS工作台使用文件上传器



我正在使用文件上传器通过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 将是存储库密钥。

这将解决问题。您将能够上传和文档。

问候,帕万。

相关内容

  • 没有找到相关文章

最新更新