Laravel 未找到存储文件

Laravel Storage File not found

我正在尝试将可下载的 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'));