如何将通过summernote生成的大型base64图像保存在我的数据库中?

Posted

技术标签:

【中文标题】如何将通过summernote生成的大型base64图像保存在我的数据库中?【英文标题】:How can I save a large base64 image that is generated through summernote in my database? 【发布时间】:2017-04-29 06:11:23 【问题描述】:

我在尝试将 Summernote 编辑器生成的图像保存在我的数据库中时遇到问题。我猜这是一个字符大小的问题。我试图保存summernote 代码的列具有“长文本”数据类型。

我的代码是这样的,在JS中建立请求,它去模型,然后模型调用一个在控制器内部的函数

javascript 请求

function setupSummerNote()
    $('#summernote').summernote(
        height: 600,                 // set editor height
        minHeight: null,             // set minimum height of editor
        maxHeight: null,             // set maximum height of editor
        focus: true                  // set focus to editable area after initializing summernote
    );
    $.get("./get-section").done(function(data) 
        if(data)
        
            $('#summernote').summernote('code', data);
        
    );

    $('.note-editable').blur(function()
        var code = $('#summernote').summernote('code');
        $.post("./update-setion", code: code).done(function(data) 

        );
    );

模型

public function updateContent()

    $code = $_POST['code'];
    $modelAdmin = new Model_Admin();
    $modelAdmin->updateSection($code);

控制器

public function updateSection($code)

    $this->connect();
    $query = $this->db->prepare("UPDATE `Content` SET content = ? WHERE id = ?");
    $result = $query->execute(array($code, '1')); // $code: html content of the summernote 

你认为我可以如何解决这个问题?

谢谢!

【问题讨论】:

不要将文件保存在数据库中。 ***.com/a/38829952/267540 特别不是 base64 编码的。事实上,尽量不要对它们进行 base64 编码 hmm..我希望用户能够上传图片,summernote提供了这个功能,但是如果你看后面的代码你会发现每张图片都已经自动转换为base64跨度> 这仍然是错误的。 我需要这样的编辑器来让管理员自定义页面的特定区域。你将如何创建它? 解码 Base64 数据并将其写入文件。将文件的路径存储在数据库中。 【参考方案1】:

我为我的问题创建了一个解决方案。这不是最好的,但它有效。 我需要做的就是将要输入的字符串切割成多个字符串(每个字符串 5000 个字符),然后将其存储在数据库中。然后将所有字符串连接在一起,以防我想检索内容。

【讨论】:

以上是关于如何将通过summernote生成的大型base64图像保存在我的数据库中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Bootstrap 4 添加到库 django-summernote?

如何将数据库填充的summernote字段显示到页面

从 SummerNote WYSIWYG Bootstrap 生成的图像损坏

如何使用summernote通过ajax同时传递内容和图片

通过 Ajax 将 Summernote 代码发布到 PHP,然后插入数据库

如何使用 Ajax 将 Summernote 文本从 JSON 数据转换为纯文本?