多个Summernote实例-将图像上传到服务器

问题描述 投票:0回答:1

因此,我在使用带有symfony表单的summernote编辑器,并且设法将图像上传到服务器,而没有将它们保存为base64格式。另一个问题来了,我有两个summernote编辑器,当我在第二个中上传图像时,它被插入了第一个中。我尝试使用jQuery的each()循环,但没有成功。问题出在上传功能上,没有它就可以正常工作,但是我需要将图像上传到服务器。这是我的代码:

$(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);
        }
    });
}
});
javascript summernote
1个回答
0
投票

编辑:我以前的循环逻辑是错误的,所以我传递了一个密钥来遍历每个编辑器。

$(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);
            }
        });
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.