如何将隐藏文件发送到laravel视图(5.7)

时间:2018-12-04 04:25:34

标签: laravel laravel-blade laravel-5.7 laravel-excel

我正在创建用于导入Excel文件的导入功能。控制器将处理它并将数据保存到数据库。然后,我想将错误导出到excel文件并发送给视图。如果用户单击下载,则excel文件中包含错误将下载,否则不执行任何操作。

因此,我想向视图发送隐藏文件,以避免将文件保存到数据库。

怎么做,请帮忙!

1 个答案:

答案 0 :(得分:0)

在控制器中导入句柄之后,您可以将错误数据传递到数组并将其发送到会话,如下所示:

$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>

希望它能对您有所帮助!