Я использую barryvdh для создания PDF-файла. Но я хочу сделать пользователю интерактивную страницу, например, «Пожалуйста, подождите» при создании PDF, отключить кнопку pdf, а затем снова включить эту кнопку, когда создание PDF завершится.
так что это мой контроллер:
$pdf = PDF::loadView('panel.invoice.pdf', $data)->setWarnings(false)->setPaper('a4', 'portrait');
$pdf->save(storage_path($code['code'].'.pdf'));
return response()->file(storage_path($code['code'].'.pdf'));
а это мой аякс:
$(document).off('click', '.pdf').on('click', '.pdf', function(e){
disBtn(btn_saving);
loadItem(selector);
$.ajax({
url: 'invoice/pdf',
type: "POST",
data: new FormData( $('#list_form')[0]),
contentType: false,
dataType: "json",
cache: false,
processData:false,
success : function ( response ) {
finishload(selector);
location.reload();
},
error : function ( jqXhr, response, errorThrown ) {
}
});
});
но представление pdf не появляется, если я делаю это с ajax и застрял, но ответ 200.
и что мне делать с файлом в хранилище? Как я могу удалить файл PDF после загрузки пользователя из просмотра PDF?
удалить без этого:
"return response()->download(storage_path($code['code'].'.pdf'))->deleteFileAfterSend(true);"