Создание HTML5 WYSIWYG: я должен сохранить изображение dataURL в базе данных? - PullRequest
1 голос
/ 11 февраля 2012

В настоящее время я пишу HTML5 WYSIWYG, используя библиотеку Google Closure, и я предоставляю пользователям возможность просто перетащить файл изображения в поле для содержания с текстом для добавления изображения.

Итак, у меня есть два способа сохранить эти изображения:

1. Получить URL-адрес данных из удаленного файла, создать тег IMG, установить URL-адрес полученных данных в качестве значения атрибута SRC этого изображения и вставить этот тег IMG в поле редактора. Когда пользователь отправит форму, я просто сохраню весь полученный HTML в моей базе данных MySQL и позже смогу отобразить его текст с изображениями.

2. Загрузите выбранное изображение на мой сервер и сохраните его как обычный файл. Тогда сервер ответит так: "изображение сохранено, его URL http://example.com/images/uploaded-image.png". После этого я выполню шаги, аналогичные моему пункту 1 (создайте тег IMG с атрибутом src = "http://example.com/images/uploaded-image.png" и вставьте его в редактируемое поле).

Первый способ будет загружать базу данных подробнее , поскольку для нее требуется хранить imageUrl изображения в поле базы данных вместе с текстом. Но это делает добавление изображений более простым и быстрым, что улучшает восприятие пользователем.

Второй способ будет загружать базу данных меньше , потому что изображения будут храниться отдельно (в файловой системе), но этот способ требует больше запросов к серверу и некоторого процессорного времени на каждом добавление изображения в текст в пределах WYSIWYG. Также он не будет показывать немедленный результат пользователю, поэтому ему нужно будет подождать, когда его изображение будет загружено, что ухудшит восприятие пользователя.

Мне нужна помощь, чтобы понять, какой способ является более предпочтительным в моем случае, учитывая все плюсы и минусы.

1 Ответ

0 голосов
/ 27 февраля 2012

Другой способ - хранить не только изображения, но и полный HTML-код с изображениями в одном файле. И использовать базу данных для хранения ссылки на файл HTML. Тогда настройте Nginx и получите лучшую производительность. ИМХО, если ваше приложение WYSIWYG, то содержимое должно быть загружено и полностью выложено в браузере перед редактированием.

...