Как отправить скрытый файл для просмотра laravel (5.7)
Я создаю функцию импорта для импорта файла Excel. контроллер обработает его и сохранит данные в базе данных. После этого я хочу экспортировать ошибку в файл Excel и отправить ее для просмотра. Если пользователь нажимает кнопку "Загрузить", файл Excel, содержащий ошибку, будет загружен, в противном случае ничего не делать.
Итак, я хочу отправить скрытый файл в представление, чтобы избежать сохранения файла в базе данных.
как это сделать, помогите пожалуйста!
1 ответ
После обработки дескриптора в контроллере вы можете передать данные об ошибках в массив и отправить их в сессию следующим образом:
$request->session()->put('err_file', $arr_err_data);
и создать функцию для получения файла ошибки:
public function getErrFile(){
return Excel::create('Error', function ($excel){
$excel->sheet('Error', function ($sheet) {
$arr_err=Session::get('err_file');
$sheet->fromArray($arr_err);
});
})->download('xlsx');
}
Не забудьте создать маршрут для этой функции:
Route::get('/get_err_file', 'YourController@getErrFile');
Финал, вы можете создать ссылку для скачивания:
<a class="btn btn-link" href="{{url('get_err_file')}}" >Download</a>
Я надеюсь, что это может помочь вам!