Пытаюсь передать сгенерированный QR код в PNG на сервер под заданным идентификатором, используя FormData, но судя по var_dump в обработчик попадает [object Promise].
Вот код, который генерит изображение через библиотеку QR Code Styling и передает через ajax в обработчик:
const qrCode = new QRCodeStyling({
width: 490,
height: 490,
type: "canvas",
data: "https://www.vk.com/",
image: "./img/gvoice_i.png",
dotsOptions: {
color: "#fff",
type: "rounded"
},
cornersSquareOptions: {
type: "extra-rounded"
},
backgroundOptions: {
color: "transparent"},
imageOptions: {
imageSize: 0.5,
saveAsBlob: true,
crossOrigin: "anonymous",
margin: 5
}
});
var pngBlob = qrCode.getRawData('png');
var myformData = new FormData();
myformData.append('QRcode', pngBlob);
myformData.append('FileName', 'Filename');
$.ajax('ajax.php',{
method: 'post',
processData: false,
contentType: false,
cache: false,
data: myformData,
enctype: 'multipart/form-data'
});
Обработчик PHP:
<?php
$name = $_POST['FileName'].".png";
$png = $_POST['QRcode'];
$myfile = fopen($name, "w");
fwrite($myfile, $png);
?>
Var_dump:
array(2) {
["QRcode"]=>
string(16) "[object Promise]"
["FileName"]=>
string(8) "Filename"
}