Как загрузить на сайт изображение в base64, отправив post-запрос с nodejs с именем изображения и самим base64?
Пользователь хочет загрузить картинку на сайт. Он её загружает, вводит имя для изображения и нажимает "загрузить", отправляя запрос на сервер уже с изображением base64. Сервер проверяет самого пользователя и отправляет post-запрос на, к примеру, upload.php. (дальше не знаю как реализовать) В upload.php проверяется само изображение на то, что это изображение, загружает его в папку 'img' и сервер получает успех.
Запрос отправить я могу, а вот в php я тыква. Прошу вас помочь, буду очень благодарен!
Так как было понятно, что мне никто не поможет, пришлось помочь самому себе и клеить решение. В итоге, спустя огромные паутины гугла, я вылепил такое решение моего вопроса. Кому помог, буду рад, если Вы отметите мой ответ полезным :)
nodejs:
const request = require('request');
async function doRequest(icon, way) {
return new Promise(function (resolve, reject) {
request.post({uri: "http://site.com/upload.php", form: {img: icon, way: way}}, (error, res, body) => {
if (!error && res.statusCode == 200) {
resolve(body);
} else {
reject(error);
}
});
});
}
const load_img = await doRequest(base64, 'img/name');
let icon = null;
if (load_img.split(' ')[0] == 'success') {
icon = load_img.split(' ')[1];
console.log(`загружено! путь - "${icon}"`);
} else {
console.log(load_img);
}
php:
<?php
$icon = $_POST['img'];
$way = $_POST['way'];
if (preg_match('/^data:image\/(\w+);base64,/', $icon, $type)) {
$icon = substr($icon, strpos($icon, ',') + 1);
$type = strtolower($type[1]);
if (!in_array($type, [ 'jpg', 'jpeg', 'gif', 'png' ])) {
die('invalid image type');
}
$icon = base64_decode($icon);
if ($icon === false) {
die('base64_decode failed');
}
} else {
die('did not match data URI with image data');
}
$way = "{$way}.{$type}";
file_put_contents($way, $icon);
echo "success {$way}";
?>
Спасибо Stack Overflow, что ты существуешь!
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть сервер, где выполняется обработка изображений и видеоОбращения к скрипту на сервере для обработки идут двух типов: от не авторизованных...
![На фото я уже использую готов Vector а мне нужно сделать собственный]11
Подскажите пожалуйста, как выбрать элемент который находится внутри списка "select"? Пробовал использовать класс Select, но все равно вылетает...