我正试图将一个可下载的csv模板绑定到存储中的一个按钮,但我一直收到一个错误,我在下面尝试过,但运气不好,有人能看到我哪里出了问题吗?
下载路线
创建了一个下载路由,该路由引用了存储中的模板。
public function download()
{
return Storage::download('template.csv');
}
路由文件
Route::get('invites/download', 'InviteController@download')->name('invite.download');
按钮
<a href="{{action('InviteController@download')}}" class="btn btn-primary mb-3">Download template</a>
模板位置
storage/app/public/template.csv
错误
这是我一直收到的错误。
League Flysystem FileNotFoundException
File not found at path: template.csv
我能帮我看看哪里出了问题吗?
您只需使用file_get_contents()
即可解决问题:
return file_get_contents(public_path('storage/template.csv'));
如果您已经创建了符号链接以及php artisan storage:link
、,这将起作用
如果要使用storage_path
,则:
return file_get_contents(storage_path('app/public/'.'template.csv'));