如何在Javascript的服务器上保存jsPDF的PDF文件?



var doc = new jsPDF();
$('#generatereport').click(function() {
doc.fromHTML($('#lppresults')[0], 15, 15, {
	  width: 170
}, function() {
	  doc.save('sample-file.pdf');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.4/jspdf.min.js"></script>
<div class="survey-results" id="lppresults">
<button id="generatereport">Download Report</button>
<h1 style="border: solid;">TEST CONTENT</h1><br />
<h1 style="border: solid;">TEST CONTENT1</h1>
</div>

我想使用 JavaScript 将文件保存在服务器上,但目前我只能将此文件保存在用户的计算机上。

您必须使用doc.output类型为'blob'的函数作为参数,而不是doc.save函数。

在Javascript部分:

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)}
});
}
);
});

这是upload.php的代码:

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

最新更新