我只是使用最新版本的summernote进行策略。版本 7。
由于某种原因,此图片上传代码不起作用。 onImageUpload: function(files) {sendFile(files[0]);} 行甚至没有被执行。

图像成功出现在编辑器中,但在 base64 中,并且未上传到 uplaods/ 文件夹中

所有包含都已成功调用。

在页面的head标签中插入js

<script>
            $(document).ready(function() {
                $('#summernote').summernote({
                    height: 200,
                    onImageUpload: function(files) {
                        sendFile(files[0]);
                    }
                });
                function sendFile(file) {
                    var data = new FormData();
                    data.append("file", file);//You can append as many data as you want. Check mozilla docs for this
                    $.ajax({
                        data: data,
                        type: "POST",
                        url: 'uploader.php',
                        cache: false,
                        contentType: false,
                        processData: false,
                        success: function(url) {
                            $("#summernote").summernote("insertImage", url);
                        }
                    });
                }
            });
        </script>

上传者.php
$dir_name = "uploads/";
    move_uploaded_file($_FILES['file']['tmp_name'],$dir_name.$_FILES['file']['name']);
    echo $dir_name.$_FILES['file']['name'];

Summernote 真的很容易使用。我只需要让图像上传工作即可 1000%nof。

请,有人可以帮我吗?

最佳答案

选项中回调的位置在 v0.7.0 之后发生了变化

$('#summernote').summernote({
    height: 200,
    callbacks: {
        onImageUpload : function(files, editor, welEditable) {

             for(var i = files.length - 1; i >= 0; i--) {
                     sendFile(files[i], this);
            }
        }
    }
});

和 sendFile 函数
function sendFile(file, el) {
var form_data = new FormData();
form_data.append('file', file);
$.ajax({
    data: form_data,
    type: "POST",
    url: 'uploader.php',
    cache: false,
    contentType: false,
    processData: false,
    success: function(url) {
        $(el).summernote('editor.insertImage', url);
    }
});
}

10-06 06:36