How to save PDF file from jsPDF on a server in Javascript?

Dilip Shekhawat picture Dilip Shekhawat · Aug 10, 2018 · Viewed 13.4k times · Source

I want to save file on the server with JavaScript, but currently I can save this file only on the user's computer.

Answer

Bharata picture Bharata · Aug 10, 2018

Instead of doc.save function you have to use doc.output function with type 'blob' as a parameter.

In Javascript part:

var doc = new jsPDF();
$('#generatereport').click(function()
{
    doc.fromHTML(
        $('#lppresults'), 15, 15,
        {width: 170},
        function()
        {
            var blob = doc.output('blob');

            var formData = new FormData();
            formData.append('pdf', blob);

            $.ajax('/upload.php',
            {
                method: 'POST',
                data: formData,
                processData: false,
                contentType: false,
                success: function(data){console.log(data)},
                error: function(data){console.log(data)}
            });
        }
    );
});

Here is the code for upload.php:

<?php
move_uploaded_file(
    $_FILES['pdf']['tmp_name'], 
    $_SERVER['DOCUMENT_ROOT'] . "/uploads/test.pdf"
);
?>