如何通过URL地址从存储中打开文件?

OPV*_*OPV 0 laravel laravel-5.5

我将文件存储在存储中。

不,我试图生成打开文件的链接,例如:

http://[temp.com]/storage/tests/de139607636857fade861a3c2c472643.txt
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

如何通过URL地址从存储中打开文件?

lju*_*adr 6

默认情况下无法通过 url 访问存储中的文件

您可以使用公共磁盘。为此,您需要从public/storage到创建符号链接storage/app/public

从 Larvel 5.3 及更高版本开始,您可以使用 artisan 命令来帮助您创建符号链接

php artisan storage:link

如果您使用的是旧版本的 Laravel,您可以在此处找到如何创建符号链接的答案


另一种方法是通过编辑文件来创建新的磁盘“上传” config/filesystems.php

'disks' => [
    'local' => [
        'driver' => 'local',
        'root'   => storage_path(),
    ],
    'uploads' => [
        'driver' => 'local',
        'root'   => public_path() . '/uploads',
    ],
]
Run Code Online (Sandbox Code Playgroud)

将文件存储在此位置

Storage::disk('uploads')->put($file_name, $file_content);
Run Code Online (Sandbox Code Playgroud)

并获取文件

asset('uploads/'. $file_name)
Run Code Online (Sandbox Code Playgroud)