Отправьте PdfByte Array с JS на php через Ajax и отправьте электронное письмо с php -файлом - PullRequest
1 голос
/ 13 марта 2020

У меня следующая проблема.

Я использую библиотеку pdf-lib для js, чтобы создать pdf. В качестве последнего шага я создаю массив uint8array:

const pdfBytes = await pdfDoc.save()

Теперь я хочу отправить этот pdfbytes с помощью ajax в php .file на моем веб-сервере. Этот php -файл должен создать PDF-файл из байтового массива PDF, прикрепить его к электронному письму и отправить по указанному c адресу электронной почты.

Я кодировал вызов ajax следующим образом :

 function sendWithAjax(pdfBytes, email) {
        if (window.XMLHttpRequest) {
            // AJAX nutzen mit IE7+, Chrome, Firefox, Safari, Opera
                xmlhttp=new XMLHttpRequest();
            }
        else {
            // AJAX mit IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }

        xmlhttp.open("POST", "sendContractEmail.php", true);
        const data = {bytes: pdfBytes, mail: email};
        xmlhttp.send(data);

    }

Но как мне кодировать php .file, чтобы сгенерировать pdf и отправить его по электронной почте?

Мой php Код:

<?php

if($_SERVER['REQUEST_METHOD'] == 'PUT') {
    echo "this is a put request\";
    parse_str(file_get_contents("php://input"),$post_vars);

    echo $post_vars['pdfBytes']." is pdfBytes\";

?>

Спасибо за помощь!

...