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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@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 , 9 месяцев назад

@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.


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

Похожие обсуждения:

Как передать изображение в виде base64 на сервер из url в java?
Как закодировать изображение в base64 на php?
Как отправить json запрос на сервер через php?
Как отправить запрос на сервер на Python?
Как отправить запрос авторизации на сервер используя java?
Как отправить файл на сервер golang ajax-ом?