Summernote OnImageUpload 未执行

Posted

技术标签:

【中文标题】Summernote OnImageUpload 未执行【英文标题】:Summernote OnImageUpload not being executed 【发布时间】: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。

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

【问题讨论】:

【参考方案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);
    
);

【讨论】:

以上是关于Summernote OnImageUpload 未执行的主要内容,如果未能解决你的问题,请参考以下文章

Summernote OnImageUpload 未执行

Summernote 上传图片:onImageUpload 和 sendFile 功能不起作用

SummerNote onImageUpload 将服务器请求转换为 C# BASE64?

Summernote 编辑器 - 上传后无法查看图像

Summernote:带有 ('code') 的 .summernote 删除了初始化选项

Summernote 编辑器落后于 Summernote 工具栏