Здравствуйте! По задумке сгенерированный pdf должен закачиваться на сервер и затем отправляться как вложение на почту. Обработчик написан так, что письмо не отправится если файл не закачен на сервер и не сохранен, но сейчас письмо приходит без вложения а JS предлагает сохранить файл на машину пользователя, отправляющего письмо..
Что не так делаю? Помогите пожалуйста!
jQuery("#send_grafic").on('click', function(){
var message_header = '<html><head><link rel="stylesheet" href="'+bootstrap_css+'" media="all"><link rel="stylesheet" href="'+sheduler_css+'" media="all"><link rel="stylesheet" href="'+print_css+'" media="all"></head><body>';
var message_body = jQuery('#sheduler_grafic').html();
var message_footer = '</body></html>';
jQuery(message_body).remove("#sheduler_grafic_title");
var message = message_header+message_body+message_footer;
var opt = {
filename: 'Shedule_Grafic.pdf',
image: { type: 'png', quality: 1 },
html2canvas: { scale: 0.5, dpi:300 },
jsPDF: { unit: 'in', format: 'letter', orientation: 'l' }
}; // New Promise-based usage: html2pdf().set(opt).from(message).save();
var pdf = btoa( html2pdf(message, opt) );
jQuery.ajax({
url: ajax_url,
type: 'POST',
dataType: 'json',
data: { action: "es_send_workingShedule", pdf:pdf},
success: function(response) { console.log(response); },
error: function(response) { console.log(response); },
});
});
if(!empty($_POST['pdf'])){
if ( ! function_exists( 'wp_handle_upload' ) ) require_once( ABSPATH . 'wp-admin/includes/file.php' );
$uploadedfile = base64_decode($_POST['pdf']); $upload_overrides = array( 'test_form' => false );
$movefile = wp_handle_upload( $uploadedfile, $upload_overrides );
if ( $movefile ) {
$message = 'График работы во вложении';
$attachment = $movefile;
wp_mail("*********@mail.ru","График работы", $message, array("Content-type: text/html; charset=utf-8" ), $attachment);
//unset($movefile);
return "График работы выслан на почту";
} else { return "При сохранении что-то пошло не так.."; }
} else { return "Данные не пришли на отправку"; }
}