Итак, я уже некоторое время использую TinyMCE, чтобы позволить пользователям добавлять изображения на страницы, и они в основном просто перетаскивают изображение в редактор и сохраняют его.
Но я только что обнаружил ошибку. Если они поместят изображение в редактор и повернут его, оно не сохранится.
Когда я сохраняю изображение без поворота, он сохраняет HTML с источником изображения, например 'img_2012.jpg', но при повороте он больше похож на 'src = \ "data: image / jpeg; base64, iVBORw0KGgoAAAANSUhEUgAAAeAAAAKACA .....' и снова и снова
Таким образом, похоже, что вращение создает некую кодировку base64, которая не позволяет сохранять ее как контент в базе данных.
Есть причина для этого?
$addContent = "
INSERT INTO htmlCont.content(content)
VALUES('$content');
";
if ($mysqlConn->query($addContent) === TRUE) {
$cont_id = $mysqlConn->insert_id;
$data['last_insert_id'] = $cont_id;
echo json_encode($data);
} else {
echo "Error: " . $addContent . "<br>" . $mysqlConn->error;
}
Вставляемые здесь данные находятся в формате html и поступают из объекта данных ajax.
Да, я только что добавил, извините. Таким образом, сохраняемый контент всегда имеет формат html и обычно сохраняется, когда он просто <img src = "image.jpg">, но эта ошибка связана со всем мусором base64
@danblack говорит, что данные слишком длинные для содержимого столбца
это не мусор, это представление для изображения. Какой тип SQL является содержимым (SHOW CREATE TABLE htmlCont.content)? Исправление SQL-инъекции решит и вашу следующую проблему.
Это тип текста прямо сейчас
есть тип длинного текста - dev.mysql.com/doc/refman/5.7/en/blob.html. Вы не можете контролировать то, что дает вам браузер.






есть ли ошибка SQL / PHP? Что такое код PHP?