Как отправить base64 изображение на сервер PHP?
Есть сервер который обрабатывает изображения разных форматов извлекая их из $_FILES. Раньше использовал js, извлекал значение input и отправлял его ajax сразу на сервер,
var $input = jQuery("#foto");
var fd = new FormData;
fd.append('file', $input.prop('files')[0]);
fd.append('action', 're');
jQuery.ajax({
url: 'http://домен.рф',
data: fd,
processData: false,
contentType: false,
type: 'POST',
success: function (data) {
}
теперь не могу делать запрос с помощью js, так как подключил ssl а на сервере его нет. Решил отправлять фото в base 64 на свой php, а от туда на сервер. Сделал такой js код:
var data = {
action: 're',
foto: await toBase64(jQuery(this).prop('files')[0]),
};
jQuery.post( myajax.url, data, function(response) {
alert(response);
});
base 64 приходит в php, но на сервер как файл из php отправить никак не могу. Пробовал такой метод:
$upload = $_POST["foto"];
$postdata = array('file' => "@".$upload );
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://домен.рф");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$output = curl_exec($ch);
print_r($output);
curl_close($ch);
но как я понимаю он предназначен для файлов расположенных в директории.