Summernote - 图像网址而不是Base64

时间:2014-12-22 10:23:16

标签: php summernote

Summernote wysiwyg编辑器将图像文件编码为Base64。嗯,这看起来很方便,但我希望DB能够长期使用。这将导致一些问题 - 搜索速度慢,实现图像库等...

我想知道它是否可以选择关闭此编码选项并使用'插入url'方法intead。我一直在寻找它,但还没有取得很大的成功。

例如,不要存储像......这样的图像。

<img style="width: 640px;" src="data:image/jpeg;base64,/9j/4Qv6RXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAeAAAAcgEyAAIAAAAUAAAAkIdp...............>

它应该是......

<img src="/images/blah/blah.jpg.">

任何文件?或任何提及的例子?

谢谢!

2 个答案:

答案 0 :(得分:3)

您需要为onImageUpload()编写自定义函数。

我一直在寻找解决方案。找到了这个:Summernote image upload

答案 1 :(得分:1)

我的一些应用程序也遇到了这个问题。我在这里创建了详细的教程https://a1websitepro.com/store-image-uploads-on-server-with-summernote-not-base-64/

您必须让summernote知道您将使用函数处理图像文件。

    $(document).ready(function() {
    $("#summernote").summernote({
      placeholder: 'enter directions here...',
            height: 300,
            callbacks: {
            onImageUpload : function(files, editor, welEditable) {

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

然后为回调创建另一个这样的函数。

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

然后你需要创建一个php文件。处理请求。请注意,此脚本的php文件名为editor-upload.php