Сохранение нарисованного изображения на холсте в базе данных MySQL - PullRequest
2 голосов
/ 28 мая 2011

Мне было интересно, как лучше всего это решить. Я пытаюсь сохранить нарисованное пользователем изображение на холсте HTML5 в своей базе данных, чтобы потом его восстановить.

Я дошел до создания строки данных base64 для изображения с помощью следующего кода, подключенного к простому обработчику нажатий кнопок:

var image_data = $("#drawing_canvas").get(0).toDataURL('image/png');

Я планировал сохранить эти данные в своей базе данных, а затем извлечь их позже, используя что-то вроде этого:

var myImage = new Image();
myImage.src = imgData;
ctx.drawImage(myImage, 0, 0);

Однако эти строки base64, похоже, содержат много данных. Мне было интересно, есть ли лучший способ сохранить эти изображения в моей базе данных? Мне еще предстоит найти способ сохранить реальное изображение в формате .png. Я мог бы открыть его в виде png в новой вкладке браузера, но сейчас я застрял там.

Или было бы хорошо хранить эти строки данных base64 в моей базе данных (в, я полагаю, в «текстовом» столбце)?

Заранее спасибо.

1 Ответ

3 голосов
/ 28 мая 2011

Вы хотите использовать тип BLOB.Вот что говорят об этом документы MySQL:

Значения BLOB обрабатываются как двоичные строки (байтовые строки).У них нет набора символов, а сортировка и сравнение основаны на числовых значениях байтов в значениях столбцов.Значения TEXT обрабатываются как недвоичные строки (символьные строки).У них есть набор символов, а значения сортируются и сравниваются на основе сопоставления набора символов.

http://dev.mysql.com/doc/refman/5.0/en/blob.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...