Несколько экземпляров Summernote - загрузка изображений на сервер - PullRequest
0 голосов
/ 31 марта 2020

Поэтому я использую редактор Summernote с symfony формами, и мне удалось загрузить свои изображения на сервер, не сохраняя их в формате base64. Возникает еще одна проблема: у меня есть два редактора summernote, и когда я загружаю изображение во второй, оно вставляется в первый. Я пытался использовать jQuery each () l oop, но это не сработало. Проблема в функции загрузки, она работает нормально без нее, но мне нужно загрузить свои изображения на сервер. Вот мой код:

$(document).ready(function () {
        $('.editor').summernote({
            callbacks: {
                onImageUpload: function (files) {
                    sendFile(files[0]);
                }
            }
        });

function sendFile(img) {
    var formData = new FormData();
    formData.append("img", img);
    $.ajax({
        data: formData,
        type: "POST",
        url: "/admin/upload-editor",
        cache: false,
        contentType: false,
        processData: false,
        success: function (url) {
            $('.editor').summernote('insertImage', url);
        }
    });
}
});

1 Ответ

0 голосов
/ 11 апреля 2020

РЕДАКТИРОВАТЬ: Мой предыдущий l oop logi c был неправильным, поэтому я передал ключ для перебора каждого редактора.

$(document).ready(function () {
    $('.editor').each(function (i) {
            $('.editor').eq(i).summernote({
                callbacks: {
                    onImageUpload: function (files) {
                        sendFile(files[0], i);
                    }
                }
            });
        }
    );

    function sendFile(img, i) {
        var formData = new FormData();
        formData.append("img", img);
        $.ajax({
            data: formData,
            type: "POST",
            url: "/admin/upload-editor",
            cache: false,
            contentType: false,
            processData: false,
            success: function (url) {
                $('.editor').eq(i).summernote('insertImage', url);
            }
        });
    }
});
...