请教一个laravel存储问件的问题

我的文件存储位置: /var/www/html/oss/storage
项目在: /var/www/html/laravel

这是config.php配置

        'oss' => [
            'driver'=>'local',
            'root' => dirname(base_path()),
            'visibility' => 'public',
            'throw' => false,
        ],

调用:

Storage::disk('oss')->putFile('/oss/storage/category', $file, $fileName);

存储时抛出了这个异常:Invalid visibility provided. Expected either League\\Flysystem\\Visibility::PUBLIC or League\\Flysystem\\Visibility::PRIVATE, received 'category_166400266496656.png

权限我都是给了www-data的,有大佬遇到过吗

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 3

不建议你这么配置,你可以参考如下方式:

  1. config/filesystems.php中的links配置符号链接
     'links' => [
         storage_path('oss') => '/var/www/html/oss/storage',
     ]
  2. 执行php artisan storage:link
  3. 配置
         'oss' => [
             'driver'=>'local',
             'root' => storage_path('oss'),
             'visibility' => 'public',
             'throw' => false,
         ],
  4. 调用
    Storage::disk('oss')->putFile('category', $file, $fileName);
2年前 评论
浪里小白龙 (楼主) 2年前

应使用 putFileAs($path, $file, $name, $options = []) 文件存储《Laravel 9 中文文档》

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!