我在我的网站上使用 Summernote 编辑器,并使用其网站上提到的 Click2edit 方法实现它here http://www.usrtriton.nl/assets/bower/summernote/example.html.
然而,如果直接使用图像上传会导致各种问题。我的理解是这是使用一种叫做 base64 的东西。我尝试使用另一个 stackoverflow 答案 [此处] 中的代码将其替换为更直接的文件上传到服务器。 (Summernote 图片上传 https://stackoverflow.com/questions/21628222/summernote-image-upload)但是它似乎没有做任何事情,图像仍然按照原始方法插入。如果你能帮我弄清楚如何正确实施这一点。
就错误而言,我的网站有几个选项卡,其中一个选项卡包括 click2edit Summernote 编辑器,当我尝试使用图像上传并保存它时,图片不会显示,并且它将选项卡合并为一页(可能某处的某些特殊字符会导致问题?)。其次,在 sql Management Studio 中查看时,作为文本数据类型的 sql 列不显示任何内容,并且内容是可编辑的,会出现某种保存错误。我最终需要删除所有条目才能恢复正常。
my code:
实施 SummerNote:
<div class="click2edit">click2edit</div>
var edit = function() {
$('.click2edit').summernote({focus: true});
};
var save = function() {
var aHTML = $('.click2edit').code(); //save HTML If you need(aHTML: array).
$('.click2edit').destroy();
};
对于我正在使用的文件上传:
$(document).ready(function() {
$('#summernote').summernote({
height: 200,
onImageUpload: function(files, editor, welEditable) {
sendFile(files[0], editor, welEditable);
}
});
function sendFile(file, editor, welEditable) {
data = new FormData();
data.append("file", file);
$.ajax({
data: data,
type: "POST",
url: "form_summernote_doc_upload_post.php",
cache: false,
contentType: false,
processData: false,
success: function(url) {
editor.insertImage(welEditable, url);
}
});
}
});
我还应该提到输出正在使用 Post 上传到 sql,其中包括
(stuff)....sql_safe($Postarray[text])....(stuff)
我认为这可能与我使用 click2edit 方法启动 Summernote 而不是给它一个直接的 #summernote id 有关。但我也尝试过,结果是一样的。我也不明白如何禁用 SummerNotes 自己的上传方法,也许这是最重要的。谢谢