如何将通过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 WYSIWYG Bootstrap 生成的图像损坏