Ограничение размера загружаемого файла с пользовательским веб-скриптом на Alfresco Community 5.2 - PullRequest
0 голосов
/ 15 октября 2019

Мне нужна помощь для загрузки содержимого документа обратно в Alfresco Community 5.2 через общий доступ к JavaScript. Узел-адрес назначения уже существует, я загружаю новую версию документа.

Я не могу использовать веб-сервис api/upload, потому что мне также нужно выполнить некоторую операцию над узлом и у меня есть содержимое base64файла, который нужно преобразовать.

Итак, я написал новый веб-скрипт, и он все работает нормально, по крайней мере, пока я загружаю документы размером менее 3 МБ,

Вот этокод

 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
    });

Мне не хватает какой-либо опции, чтобы увеличить максимальный размер загружаемого файла? Я попытался загрузить файл в обычном режиме (с помощью перетаскивания), и он работает.

Проблема заключается в том, что когда размер файла> = 3 МБ, класс Java, стоящий за сценарием, не получает ни одного байта

ОБНОВЛЕНИЕ

После некоторых исследований я обнаружил, что может возникнуть проблема с тем, как данные передаются через POST, как application / x-www-form-urlencoded вместо multipart / form-data, но я не могу найти способчтобы указать тип содержимого запроса в запросе ajax

SOLUTION

Проблема заключалась в том, что приложение / x-www-form-urlencoded вместо multipart / form-data, я использовал выборку POSTзапрос как указано здесь , но решение для запроса ajax тоже хорошо.

1 Ответ

1 голос
/ 15 октября 2019

На прошлой неделе у меня была та же очень похожая проблема с запросом Alfresco AJAX на Alfresco 5.0.2.5, и я использовал вызовы 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) {

        }
    });

Ссылка: https://blog.arvixe.com/sending-multipart-form-using-ajax/

Надеюсь, это поможет вам.

...