【问题标题】:Summernote OnImageUpload not being executedSummernote OnImageUpload 未执行
【发布时间】:2016-03-17 23:37:08
【问题描述】:

我只是使用最新版本的 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。

请问,谁能帮我解决这个问题?

【问题讨论】:

    标签: javascript php jquery summernote


    【解决方案1】:

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

    $('#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);
        }
    });
    }
    

    【讨论】:

      猜你喜欢
      • 2018-02-26
      • 2017-01-12
      • 2020-03-18
      • 2021-05-10
      • 2018-10-14
      • 2020-09-05
      • 2017-12-11
      • 2020-08-13
      • 2018-07-19
      相关资源
      最近更新 更多