【问题标题】:How to access a file from storage in Laravel 5.8如何从 Laravel 5.8 的存储中访问文件
【发布时间】:2020-01-13 21:31:55
【问题描述】:

我的存储文件夹中有一个文件。 定位路径:

storage/app/public/$/10012940/gallery/289sdas98e.jpg

$、10012940 和 289sdas98e.jpg 是动态的,可以更改。

Route::get('storage/{$folderDirectory1}/{$customerReference}/gallery/{file}', function ($filename)
{

});

由于它是一个嵌套文件夹,我在互联网上找不到太多关于路线应该是什么样子的信息。还有如何去做这样的事情。

我正在尝试找到一种通过路由访问此路径的方法,以便我可以编写一个中间件进行身份验证,然后才能使最终用户可以访问它。

由于可见性,我将文件存储在存储文件夹中。我想控制谁应该有权查看图像

【问题讨论】:

  • 设置磁盘并让它处理其余部分更容易(laravel.com/docs/master/filesystem)。这样您就可以忽略存储中的路径并按原样转发请求。
  • @DanielProtopopov 我希望能够检查谁应该有权访问,这就是我将文件存储在存储文件夹中的原因。
  • 所以当我尝试访问时,我喜欢有一个中间件来检查他们是否应该有权访问。但是我不确定路线应该是什么样子。因为我无法让它工作
  • 那么你应该彻底思考这个问题并更新你的帖子。表述得越好,人们就越有可能理解它并能够完整地回答它。
  • @DanielProtopopov,注意到,我已经更新了我的问题。你有什么建议吗?

标签: php laravel laravel-5 storage


【解决方案1】:

您应该使用路由名称。 例如,在您看来:href="{{ route('assets.show', $asset) }}"。 例如,在您的 AssetController@show 中,只需返回 Storage::download($asset)。 然后使用您的中间件授权或不授权访问 show 方法。

【讨论】:

  • 我将在图像滑块中显示此图像。所以我需要能够显示路径不是吗?
猜你喜欢
  • 1970-01-01
  • 2020-06-21
  • 2021-03-16
  • 2019-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-11
  • 2023-03-12
相关资源
最近更新 更多