我无法显示 Laravel 6 中存储的文件

I can't show a file from storage in Laravel 6

我有一个 Laravel 6.0 应用程序,用户可以将文件上传到服务器并将其存储在 laravel 的存储文件系统中。我使用的系统一直在一个较旧的 Laravel 5.6 项目中工作。

控制器给我的link:

domainame.com/public/file?folder=foldername&file=1569323440filename.png

控制器

public function getFile($foldername, $filename)
{
    $fullpath = "app/{$foldername}/{$filename}";

    return response()->download(storage_path($fullpath), null, [], null);
}

public function getFilesubfolder($foldername, $subfolder, $filename)
{
    $fullpath = "app/{$foldername}/{$subfolder}/{$filename}";

    return response()->download(storage_path($fullpath), null, [], null);
}

查看

{{ route('file.show' ,['folder' => 'empresas' , 'file' => $factura->archivo])}}

我得到的错误是 404 错误,因为 link 正在尝试访问不存在。在我之前的项目中,link 是这样的:

domainame.com/public/folder/file

我创建了一个 symlink 到存储系统。我是否缺少其他类型的配置或其他什么?

我已经解决了我的错误,如果人们来自 google 搜索或其他内容,我想 post 解决方案:

我的错误是从 Laravel 6.0 开始,变量 routes 必须是文字。

在我的例子中,我改变了这个:

{{ route('file.show' ,['folder' => 'empresas' , 'file' => $factura->archivo])}}

为此:

{{ route('file.show' ,['foldername' => 'empresas' , 'filename' => $factura->archivo])}}

我很伤心,因为我没有看到那个错误,希望它能对遇到我情况的任何人有所帮助