编程语言
首页 > 编程语言> > php – summernote图片上传和替代不工作

php – summernote图片上传和替代不工作

作者:互联网

我在我的网站上使用summernote编辑器,并使用他们网站here上提到的Click2edit方法实现了它.

但是,如果按原样使用图像上载会导致各种问题.我的理解是这是使用一种叫做base64的东西.我尝试使用来自另一个stackoverflow答案[here]的代码将更直接的文件上传到服务器. (Summernote image upload)然而它似乎没有做任何事情,图像仍然插入原始方法.如果你能帮我解决如何正确实现这个问题.

在错误方面,我的网站有几个选项卡,其中一个选项卡包含click2edit summernote编辑器,当我尝试使用图像上传并保存时,图片不显示,它将标签组合为1页(可能一些特殊的角色在哪里引起问题?).其次,作为文本数据类型的sql列在sql management studio中查看时没有显示内容且内容可编辑,给出了某种保存错误.我最终需要将所有条目一起删除才能恢复正常.

我的代码:

实施夏令时:

<div class="click2edit">click2edit</div>

var edit = function() {
 $('.click2edit').summernote({focus: true});
};
var save = function() {
  var aHTML = $('.click2edit').code(); //save HTML If you need(aHTML:     array).
  $('.click2edit').destroy();
};

我正在使用的文件上传:

$(document).ready(function() {
    $('#summernote').summernote({
        height: 200,
        onImageUpload: function(files, editor, welEditable) {
            sendFile(files[0], editor, welEditable);
        }
    });

    function sendFile(file, editor, welEditable) {
        data = new FormData();
        data.append("file", file);
        $.ajax({
            data: data,
            type: "POST",
            url: "form_summernote_doc_upload_post.php",
            cache: false,
            contentType: false,
            processData: false,
            success: function(url) {
                editor.insertImage(welEditable, url);
            }
        });
    }
});

我还应该提到输出正在上传到sql使用Post包括

(stuff)....sql_safe($Postarray[text])....(stuff)

我认为这可能与我使用click2edit方法启动summernote而不是给它一个直接#summernote id的事实有关.但我也尝试了,结果是一样的.我也不明白如何禁用summernotes自己的上传方法,也许这就是重写.谢谢

解决方法:

Summer note新版本只传递一个参数.
所以你可以使用这个脚本

$('.summer').summernote({
    height: "200px",
    callbacks: {
        onImageUpload: function(files) {
            url = $(this).data('upload'); //path is defined as data attribute for  textarea
            sendFile(files[0], url, $(this));
        }
    }
});

function sendFile(file, url, editor) {
    var data = new FormData();
    data.append("file", file);
    $.ajax({
        data: data,
        type: "POST",
        url: url,
        cache: false,
        contentType: false,
        processData: false,
        success: function(objFile) {
            editor.summernote('insertImage', objFile.folder+objFile.file);
        },
        error: function(jqXHR, textStatus, errorThrown) {
        }
    });
}

标签:jquery,php,summernote
来源: https://codeday.me/bug/20190714/1459033.html