在 Alfresco Community 5.2 上使用自定义 webscript 上传文件大小限制

Upload file size limit with custom webscript on Alfresco Community 5.2

我需要帮助通过共享 java 脚本将文档内容上传回 Alfresco Community 5.2。 目标noderef已经存在,我上传一个新版本的文档。

我无法使用 api/upload 网络服务,因为我还需要对 noderef 进行一些操作,并且我有一个需要转换的文件的 base64 内容。

所以我写了一个新的 webscript 并且一切正常,至少在我上传小于 3MB 的文档时,

这是代码

 Alfresco.util.Ajax.request({
        method: Alfresco.util.Ajax.POST,
        dataObj: {
            bytes: response.bytes,
            digestAlgorithm: response.digestAlgorithm,
            mimeType: response.mimeType.mimeTypeString,
            name: response.name,
            nodeRef: this.nodeRef,
            signatureLevel: this.signatureLevel
        },
        url: thisClass.urlAlfrescoService + "myOrg/myPackage/uploadDocument",

        successCallback: {
            fn: thisClass._successOnUploadContent,
            scope: this
        },

        failureCallback: {
            fn: thisClass._errorOnUploadContent,
            scope: this
        },

        scope: this,
        noReloadOnAuthFailure: true
    });

我是否错过了一些增加最大上传文件大小的选项? 我尝试正常上传文件(通过拖放)并且它有效。

问题是当文件 >= 3MB 时 java class webscript 后面没有收到任何字节

更新

经过一些研究,我发现这可能是数据如何通过 POST 传递的问题,因为 application/x-www-form-urlencoded 而不是 multipart/form-data,但我找不到方法在ajax请求

中指定请求内容类型

解决方案

问题是 application/x-www-form-urlencoded 而不是 multipart/form-data,我使用了 所述的获取 POST 请求,还有 ajax 请求解决方案很好。

上周,我在 Alfresco 5.0.2.5 上遇到了与 Alfresco AJAX 请求非常相似的问题,我使用了 jquery 的 AJAX 调用,它对我有用。

 $.ajax({
        url: Alfresco.constants.PROXY_URI + "your_web_script",
        type: "POST",
        data: dataFromFiles,
        mimeType: "multipart/form-data",
        contentType: false,
        cache: false,
        processData: false,
        dataType: "text",
        success: function(data, textStatus, jqXHR) {

        },
        error: function(jqXHR, textStatus, errorThrown) {

        }
    });

参考 link : https://blog.arvixe.com/sending-multipart-form-using-ajax/

希望对您有所帮助。