jQuery-File-Upload (Blueimp) с настраиваемым ajax под октябрьской CMS

Попытка создать компонент под октябрьской CMS, который должен позволять загружать несколько файлов через интерфейс. Я пытаюсь интегрировать в уже существующую форму плагин Blueimp jQuery-File-Upload, и поскольку октябрьская CMS использует интегрированную платформу ajax, которая позволяет отправлять данные в метод компонента, я бы использовал этот метод ajax вместо того, что по умолчанию Blueimp

так что обычная загрузка файла выглядит как

$('#gallery').fileupload({
    // Uncomment the following to send cross-domain cookies:
    //xhrFields: {withCredentials: true},
    url: 'path/to/controller'

});

но вместо этого я хотел бы использовать что-то вроде

$('#gallery').fileupload({
    // Uncomment the following to send cross-domain cookies:
    //xhrFields: {withCredentials: true},
    add: function (e, data) {
        data.submit();
        $.request('onUploads', {

            success: function(data){
                console.log(data);

            }
        })
    }

});

person fefe    schedule 22.01.2015    source источник


Ответы (1)


Вам необходимо использовать класс Request из Laravel, поверх которого находится OctoberCMS. Обычно вы переходите в раздел кода файла макета и добавляете

function onUploads()
{
    // Get the file
    $file = Request::file('somefile');

    // Code to do something with it
    // enter code here
}

В зависимости от того, чего вы пытаетесь достичь, вы можете написать соответствующий код для его загрузки. Например, в моем подключаемом модуле входа в соцсети я использую методы этот класс для получения фотографий из выбранной социальной сети и создания связи между социальными сетями плагина модель и загруженный файл, чтобы пользовательский интерфейс мог вывести фотографию в качестве отображаемой фотографии в своем веб-приложении.

Еще один хороший способ сделать это - напрямую загрузить его в каталог тем, выполнив что-то вроде Request::file('somefile')->move(app_path() . '/themes/yourtheme/assets/uploads/');, но тогда вам нужно будет добавить код, чтобы ограничить размер загрузки, а также исправить имена файлов. Не стесняйтесь оставлять комментарии, если вам нужна помощь в достижении чего-то особенного. gl hf

person Saifur Rahman Mohsin    schedule 02.04.2015