laravel Storage自定义上传文件路径

2022年6月23日15:30:20

 之前文件上传都是自己使用splobject自己写的,但是发现Storage提供不少好用的方法,就尝试了一下,发现默认配置

config/filesystems.php

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL') . '/storage',
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
            'endpoint' => env('AWS_ENDPOINT'),
        ],

        'uploads' => [
            'driver' => 'local',
            'root' => public_path('uploads'),
            'url' => public_path('uploads'),
            'visibility' => 'public',
        ],
    ],
uploads是最后新增的部分
使用的方法,就可以按照正常使用了
默认访问路径是public/uploads

如果你使用URL::to
'url' => \Illuminate\Support\Facades\URL::to('uploads'),
使用全空间命名会报错 A facade root has not been set.

https://learnku.com/docs/laravel-cheatsheet/8.x
Storage可以看到大部分使用问题

        $fileContents = 333333;
        Storage::disk('uploads')->put('avatars/2', $fileContents);

        p(Storage::disk('uploads')->url('avatars/2'));

输出

D:\phpstudy_pro\WWW\yida_api\public\uploads/avatars/2


最好用的应该是ftp sftp oss支持

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值