Используя плагин jsPDF
, я создаю файл .pdf
и создаю загрузку на основе нажатия кнопки. Я хотел бы сохранить файл на своем сервере, а не инициировать загрузку. Так что, когда кнопка нажата, я хотел бы файл, который будет сохранен в:Хранение сгенерированных PDF-файлов на сервере
/tmp/uploads/pdf/example.pdf
Я знаю, мне нужно, придется использовать Jquery.Ajax
, чтобы отправить файл на сервер. Однако, глядя на документацию, я не видел никакой поддержки для .pdf
в качестве типа данных.
Мой код:
$(document).on("click", "#PDF", function() {
var table = document.getElementById("result");
var tbl = window.sessionStorage.getItem("tbl");
var cols = [],
data = [];
function html() {
var doc = new jsPDF('p', 'pt');
var res = doc.autoTableHtmlToJson(table, true);
doc.autoTable(res.columns, res.data);
doc.save(tbl+".pdf");
}
html();
});
Основываясь на этом xml document saving примере я попытался следующие:
var pdfDocument = doc.save(tbl+".pdf");
var pdfRequest = $.ajax({
url: "/tmp/uploads/pdf",
processData: false,
data: pdfDocument
});
Этот скачал файл вместо его сохранения. Как сохранить файл?
Может у вас есть какие-либо идеи, почему я получаю другой файл contentent в PHP с переменной POST «данные», чем я посылаю из JavaScript? Я предупредил данные перед отправкой. И далее в PHP я сделал эхо, чтобы показать $ _POST ['data']. Затем я предупредил xmlHttp.responseText, и у меня есть что-то другое (а не «уродские» символы, только регулярные символы и много короче). – arrowman