下载文件使用laravel提供的方法。
$pathToFile = storage_path('app\images\\').'filename.jpg';
return response()->download($pathToFile,'image.jpg');
download()可以接受三个参数,第一个是要下载的文件地址,第二个参数下载后保存的文件名,第三个参数headers头信息,第三个参数一般不用管,他会自己设置。
我遇到的坑:
坑一:不能有dump()操作
在有dump()的时候就不会下载文件。
坑二:不能有任何输出
在下载文件的时候不要有任何的输出,不管是方法中还是中间件里。
任何的输出都会导致下载的文件无法被打开。
这里说的输出是页面上是否有输出显示。