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

时间:2019-09-24 11:21:07

标签: php laravel laravel-6 laravel-filesystem laravel-storage

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

控制器给我的链接:

  

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错误,因为该链接正在尝试访问不存在。在我以前的项目中,链接是这样的:

  

domainame.com/public/folder/file

我创建了到存储系统的符号链接。我是否缺少其他类型的配置?

1 个答案:

答案 0 :(得分:1)

我已解决我的错误,如果有人来自Google搜索或其他原因,请在此处发布解决方案:

我的错误是,从Laravel 6.0开始,变量路由必须为原义。

就我而言,我对此进行了更改:

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

对此:

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

我因为看不到该错误而打消了主意,希望它对遇到我的情况有帮助