因此,我在使用带有symfony表单的summernote编辑器,并且设法将图像上传到服务器,而没有将它们保存为base64格式。另一个问题来了,我有两个summernote编辑器,当我在第二个中上传图像时,它被插入了第一个中。我尝试使用jQuery的each()循环,但没有成功。问题出在上传功能上,没有它就可以正常工作,但是我需要将图像上传到服务器。这是我的代码:
$(document).ready(function () {
$('.editor').summernote({
callbacks: {
onImageUpload: function (files) {
sendFile(files[0]);
}
}
});
function sendFile(img) {
var formData = new FormData();
formData.append("img", img);
$.ajax({
data: formData,
type: "POST",
url: "/admin/upload-editor",
cache: false,
contentType: false,
processData: false,
success: function (url) {
$('.editor').summernote('insertImage', url);
}
});
}
});
编辑:我以前的循环逻辑是错误的,所以我传递了一个密钥来遍历每个编辑器。
$(document).ready(function () {
$('.editor').each(function (i) {
$('.editor').eq(i).summernote({
callbacks: {
onImageUpload: function (files) {
sendFile(files[0], i);
}
}
});
}
);
function sendFile(img, i) {
var formData = new FormData();
formData.append("img", img);
$.ajax({
data: formData,
type: "POST",
url: "/admin/upload-editor",
cache: false,
contentType: false,
processData: false,
success: function (url) {
$('.editor').eq(i).summernote('insertImage', url);
}
});
}
});