0

我使用以下命令在本地存储磁盘中为每个用户创建了一个子文件夹:

if(! Storage::disk('public')->has("users/".$username."_".Auth::user()->id)){
    Storage::makeDirectory("public/users/".$username."_".Auth::user()->id);

它有效!

所以现在当我保存文件时,所有文件都在用户的文件夹中,即:

storage/app/public/users/userX
storage/app/public/users/userY
etc.

然后我使用以下命令建立一个 sim 链接:php aritsan storage:link 它可以工作。

但是,当我尝试提供文件时,我总是无能为力!如果我使用如下代码:

Storage::url("$urlToFile");

其中$urlToFile包含类似的东西"public/users/userX/file.png"

它给了我回报:

/storage/users/userX/file.png

即使我把功能assett()放在前面,我也无法使用它!

我该如何解决?

提前致谢!

4

3 回答 3

0

根据文档,您应该访问您的图像,例如:asset('storage/users/userX/file.png');,而不是public/users/userX/file.png您正在使用的图像。

于 2017-09-06T13:19:52.033 回答
0

您必须在其中设置网址config/filesystem.php

'public' => [
    'driver' => 'local',
    'root' => storage_path('app/public'),
    'url' => env('APP_URL').'/storage',
    'visibility' => 'public',
],
于 2017-09-06T11:00:03.037 回答
0

你可以这样做Storage::disk('public')->get($url);

于 2017-09-06T11:04:51.473 回答