В обработчик php уходит [object Promise]

Пытаюсь передать сгенерированный 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"
}

Ответы (1 шт):

Автор решения: SaNFeeD

Попробуйте так.

qrCode.getRawData('png').then(qrImg => {
  var myformData = new FormData();        
  myformData.append('QRcode', qrImg );
  myformData.append('FileName', 'Filename');

  $.ajax('ajax.php',{
    method: 'post',
    processData: false,
    contentType: false,
    cache: false,
    data: myformData,
    enctype: 'multipart/form-data'
});
});
→ Ссылка