12

Summernote 所见即所得编辑器将图像文件编码为 Base64。好吧,这似乎很方便,但我希望数据库长期大量使用。这会导致一些问题 - 搜索速度慢,实现图像库等等......

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

例如,而不是存储图像...

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

它应该是...

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

任何文件?或者有什么可以参考的例子吗?

谢谢 !

4

2 回答 2

4

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

我一直在寻找解决方案。发现这个:Summernote 图片上传

于 2015-02-10T13:34:00.347 回答
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

于 2018-04-26T14:04:24.240 回答