Преобразование строки изображения base64 в BLOB-объекты в PHP

0

Я хотел бы сохранить изображение, закодированное в base64, в базу данных, используя веб-службу php. В частности, это определение таблицы, которая сохранит ее:

CREATE TABLE 'message' (
  'id' int(11) NOT NULL AUTO_INCREMENT,
  'title' varchar(45) DEFAULT NULL,
  'content' varchar(250) DEFAULT NULL,
  'latitude' double DEFAULT NULL,
  'longitude' double DEFAULT NULL,
  'date' datetime DEFAULT NULL,
  'picture' blob,
  PRIMARY KEY ('id')
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=latin1;

Как вы можете видеть, я создал изображение столбца как blob. Затем сервер получит такой объект:

    {
    "title": "hellrrerer",
    "content": "norereerthe content",
    "latitude": null,
    "longitude": 12,
    "date": "2009-04-30 10:09:00",
    "picture": "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"
}

И я попытаюсь сохранить его в базе данных, используя:

    $insertStmt = $mysqli -> prepare('INSERT INTO message (title, content, latitude, longitude,date, picture) VALUES (?,?,?,?,?,?)');
    $insertStmt -> bind_param('ssddsb', $message['title'], $message['content'], $message['latitude'], $message['longitude'], 
        $message['date'],$message['picture']);

Теперь я знаю, что это не сработает, потому что изображение по-прежнему является строкой; мой вопрос - что мне сделать, чтобы преобразовать его в формат, который будет сохранен в базе данных блобом? благодаря

  • 0
    Ты это пробовал? это не удалось?
  • 0
    Ну, результат всегда один и тот же: значение столбца не пустое, а пустое
Теги:
base64
mysqli
blob

1 ответ

-1

Попробуйте сохранить изображение, используя file_get_contents.

$sql = "INSERT INTO Table(columns, ....)
        VALUES(....,'" . file_get_contents($yourImage) . "')";

Вы можете прочитать эту ветку

Также вы можете кодировать изображение с помощью base64_encode (если хотите)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню