Экспорт HTML в .doc, а затем по электронной почте (JS) - PullRequest
0 голосов
/ 31 марта 2019

Прошу прощения за мой [возможно] вопрос начального уровня, но я борюсь с проблемой.

Я создал простое интерфейсное веб-приложение, которое берет данные из формы (в основном личные данные) и вставляетданные помещаются в различные места большого текста, что в конечном итоге создает пользовательское соглашение.

Существует функция, которая экспортирует HTML в документ Microsoft Word и позволяет пользователям загружать HTML в файл .doc.В моем случае пользователь моего приложения может создать и загрузить свое пользовательское соглашение и сохранить копию для себя (в виде текстового документа).Таким образом, этот процесс работает, и с ним нет проблем.

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу понять, как собрать этот файл (или восстановить его) и отправить копию мне по электронной почте.

Кажется, мне нужно добавить сюда функцию обратного вызова, но я не могу понять, куда или что мне нужно написать.

Если кто-то может помочь, я был бы очень благодарен.

function exportHTML(element, filename = ''){
    var preHtml = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'></head><body>";
    var postHtml = "</body></html>";
    var html = preHtml+document.getElementById(element).innerHTML+postHtml;

    var blob = new Blob(['\ufeff', html], {
        type: 'application/msword'
    });


    var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html);

    filename = filename?filename+'.doc':'document.doc';

    var downloadLink = document.createElement("a");

    document.body.appendChild(downloadLink);

    if(navigator.msSaveOrOpenBlob ){
        navigator.msSaveOrOpenBlob(blob, filename);
    }else{
        // Create a link to the file
        downloadLink.href = url;

        // Setting the file name
        downloadLink.download = filename;

        //triggering the function
        downloadLink.click();
    }

    document.body.removeChild(downloadLink);
}

Эта функция корректно работает для экспорта HTML в файл документа.Мне просто нужно добавить дополнительную функциональность, чтобы я мог отправить копию пользовательского соглашения на мою электронную почту.

Предположительно, это будет в форме дополнительного кода JS и обработчика событий php.

...