Summernote - Image url instead of Base64

前端 未结 2 547
遇见更好的自我
遇见更好的自我 2021-01-04 19:08

Summernote wysiwyg editor encodes image files into Base64. Well, this seems handy but I expect the DB to be used quite heavily for a long term. This will cause some issues -

2条回答
  •  野趣味
    野趣味 (楼主)
    2021-01-04 20:00

    I had this problem with some of my applications as well. I created a detailed tutorial here https://a1websitepro.com/store-image-uploads-on-server-with-summernote-not-base-64/

    You have to let summernote know that you are going to process the image file with a function.

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

    Then create another function like this for the callback.

        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);
       }
        });
        }
    

    Then you will need to create a php file. To handle the request. Notice the php file for this script is named editor-upload.php

提交回复
热议问题