Как вставить изображение в базу данных mysql (таблица)? - программирование
Подтвердить что ты не робот

Как вставить изображение в базу данных mysql (таблица)?

Я хочу вставить изображение в таблицу, например

 CREATE TABLE XX_SAMPLE(ID INT
                       ,IMAGE BLOB);

Итак, можете ли вы помочь сформировать способ вставки изображения в таблицу выше.

4b9b3361

Ответ 1

Пожалуйста, попробуйте ниже код

INSERT INTO xx_BLOB(ID,IMAGE) VALUES(1,LOAD_FILE('E:/Images/jack.jpg'));

Ответ 2

Вы должны использовать LOAD_FILE так:

LOAD_FILE('/some/path/image.png')

Ответ 3

Вы можете попробовать что-то вроде этого.

CREATE TABLE 'sample'.'picture' ( 
'idpicture' INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, 
'caption' VARCHAR(45) NOT NULL, 
'img' LONGBLOB NOT NULL, 
 PRIMARY KEY('idpicture')) TYPE = InnoDB;

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

http://forums.mysql.com/read.php?20,17671,27914

http://mrarrowhead.com/index.php?page=store_images_mysql_php.php

http://www.hockinson.com/programmer-web-designer-denver-co-usa.php?s=47

Ответ 4

У меня есть три ответа на этот вопрос:

  • Оптимальная практика UX для пользователей используется для использования типов данных BLOB и CLOB в строке и извлечения двоичных данных из базы данных SQL, поэтому рекомендуется использовать технику, которая включает в себя хранение URL-адрес изображения (или любой двоичный файл в базе данных). Этот URL-адрес поможет пользовательскому приложению получить и использовать этот двоичный файл.

  • Во-вторых, типы данных BLOB и CLOB доступны только для нескольких версий SQL, таким образом, такие функции, как LOAD_FILE, или сами типы данных могут пропустить в некоторых версиях.

  • Третий НЕ ИСПОЛЬЗУЙТЕ BLOB ИЛИ CLOB. Храните URL-адрес; позволить пользовательскому приложению обращаться к двоичному файлу из папки в каталоге проекта.

Ответ 5

Если я использую следующий запрос,

INSERT INTO xx_BLOB(ID,IMAGE) 
VALUES(1,LOAD_FILE('E:/Images/xxx.png'));

Ошибка: нет такой функции: LOAD_FILE

Ответ 6

Я попробовал все вышеупомянутое решение и потерпел неудачу, он просто добавил нулевой файл в БД.

Однако я смог это сделать, переместив файл изображения (fileName.jpg) сначала в папку ниже (в моем случае) C:\ProgramData\MySQL\MySQL Server 5.7\Uploads а затем выполнил команду ниже, и она работает для меня,

INSERT INTO xx_BLOB(ID,IMAGE) VALUES(1,LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/fileName.jpg'));

Надеюсь это поможет.

Ответ 7

Я попробовал вышеуказанный метод

INSERT INTO xx_BLOB(ID,IMAGE) VALUES(1,LOAD_FILE('E:/Images/jack.jpg'));


это не сработало для меня, столбец "ИЗОБРАЖЕНИЕ" показывает ноль

учитывая ту же таблицу, что и в оригинальном вопросе