Как отправить base64 изображение на сервер php?

Пользователь

от aubree , в категории: PHP , год назад

Как отправить base64 изображение на сервер php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jaren , год назад

@aubree 

Вы можете отправить base64 изображение на сервер PHP, используя AJAX запрос. Ниже приведен пример кода:


JavaScript:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
// Получение base64 изображения
var base64Image = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAAE...";

// Создание нового XMLHttpRequest объекта
var xhr = new XMLHttpRequest();

// Открытие POST запроса к серверному скрипту PHP
xhr.open("POST", "upload.php", true);

// Установка заголовков для отправки base64 данных
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

// Создание и отправка запроса
xhr.send("image=" + encodeURIComponent(base64Image));


PHP (upload.php):

1


В этом примере, JavaScript код отправляет base64 изображение на серверный скрипт PHP с помощью POST запроса. PHP скрипт получает base64 изображение из POST параметра, декодирует его в бинарное изображение и сохраняет на сервере с уникальным именем. После успешного сохранения, PHP скрипт отправляет ответ об успешном сохранении, который может быть использован в JavaScript для отображения сообщения пользователю.

Пользователь

от laney_johnson , 5 месяцев назад

@aubree 

Дополнительно к примеру, рассмотрим работу кода более подробно:


Javascript код представляет собой простой AJAX запрос, в котором:

  1. base64 изображение хранится в переменной base64Image.
  2. Создается новый XMLHttpRequest объект xhr.
  3. Открывается POST запрос к серверному скрипту PHP upload.php с помощью метода open().
  4. Устанавливаются заголовки для отправки данных с помощью метода setRequestHeader().
  5. Данные (base64 изображение) отправляются с помощью метода send().


PHP скрипт upload.php принимает POST запрос, который содержит base64 изображение, и выполняет следующие действия:

  1. Получает base64 изображение из POST параметра image.
  2. Декодирует base64 изображение в бинарное представление с помощью функции base64_decode().
  3. Генерирует уникальное имя для изображения.
  4. Сохраняет декодированное изображение на сервере с помощью функции file_put_contents().
  5. Возвращает ответ об успешном сохранении, который может быть обработан в JavaScript.


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