dairidong / dcat-media-manager

Dcat Admin的文件管理扩展(源于 Laravel Admin 的相同扩展)
MIT License
32 stars 9 forks source link

安装 "overtrue/laravel-filesystem-qiniu": "^2.2" ,查看七牛云存储提示错误。 #5

Closed gyp719 closed 1 year ago

gyp719 commented 1 year ago

查看七牛云存储提示错误。

'qiniu' => [ 'driver' => 'qiniu', 'access_key' => env('QINIU_ACCESS_KEY'), 'secret_key' => env('QINIU_SECRET_KEY'), 'bucket' => env('QINIU_BUCKET'), 'domain' => env('QINIU_DOMAIN'), // or host: https://xxxx.clouddn.com ],

image
dairidong commented 1 year ago

截图没有提供可用信息

gyp719 commented 1 year ago

[2023-06-25 18:24:58] local.ERROR: Array to string conversion {"exception":"[object] (ErrorException(code: 0): Array to string conversion at /home/vagrant/Code/Tools/vendor/jatdung/media-manager/src/MediaService.php:124) [stacktrace]

0 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(254): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError()

1 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}()

2 /home/vagrant/Code/Tools/vendor/jatdung/media-manager/src/MediaService.php(124): sprintf()

3 /home/vagrant/Code/Tools/vendor/jatdung/media-manager/src/MediaService.php(104): Jatdung\MediaManager\MediaService->resolveAdapter()

4 /home/vagrant/Code/Tools/vendor/jatdung/media-manager/src/MediaService.php(327): Jatdung\MediaManager\MediaService->initAdapter()

5 /home/vagrant/Code/Tools/vendor/jatdung/media-manager/src/Http/Controllers/MediaManagerController.php(37): Jatdung\MediaManager\MediaService->setDisk()

6 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Jatdung\MediaManager\Http\Controllers\MediaManagerController->index()

7 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\Routing\Controller->callAction()

8 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Routing/Route.php(260): Illuminate\Routing\ControllerDispatcher->dispatch()

9 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\Routing\Route->runController()

10 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Routing/Router.php(799): Illuminate\Routing\Route->run()

11 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Routing\Router->Illuminate\Routing\{closure}()

12 /home/vagrant/Code/Tools/vendor/dcat/laravel-admin/src/Http/Middleware/WebUploader.php(22): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

13 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Dcat\Admin\Http\Middleware\WebUploader->handle()

14 /home/vagrant/Code/Tools/vendor/dcat/laravel-admin/src/Http/Middleware/Session.php(12): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

15 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Dcat\Admin\Http\Middleware\Session->handle()

16 /home/vagrant/Code/Tools/vendor/dcat/laravel-admin/src/Http/Middleware/Permission.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

17 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Dcat\Admin\Http\Middleware\Permission->handle()

18 /home/vagrant/Code/Tools/vendor/dcat/laravel-admin/src/Http/Middleware/Bootstrap.php(19): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

19 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Dcat\Admin\Http\Middleware\Bootstrap->handle()

20 /home/vagrant/Code/Tools/vendor/dcat/laravel-admin/src/Http/Middleware/Pjax.php(22): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

21 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Dcat\Admin\Http\Middleware\Pjax->handle()

22 /home/vagrant/Code/Tools/vendor/dcat/laravel-admin/src/Http/Middleware/Authenticate.php(26): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

23 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Dcat\Admin\Http\Middleware\Authenticate->handle()

24 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

25 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Routing\Middleware\SubstituteBindings->handle()

26 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

27 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle()

28 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

29 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\View\Middleware\ShareErrorsFromSession->handle()

30 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

31 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\Session\Middleware\StartSession->handleStatefulRequest()

32 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Session\Middleware\StartSession->handle()

33 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

34 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle()

35 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

36 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Cookie\Middleware\EncryptCookies->handle()

37 /home/vagrant/Code/Tools/vendor/dcat/laravel-admin/src/Http/Middleware/Application.php(15): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

38 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Dcat\Admin\Http\Middleware\Application->handle()

39 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

40 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\Pipeline\Pipeline->then()

41 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Routing/Router.php(777): Illuminate\Routing\Router->runRouteWithinStack()

42 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Routing/Router.php(741): Illuminate\Routing\Router->runRoute()

43 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Routing/Router.php(730): Illuminate\Routing\Router->dispatchToRoute()

44 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\Routing\Router->dispatch()

45 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}()

46 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

47 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()

48 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()

49 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

50 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()

51 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\TrimStrings->handle()

52 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

53 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle()

54 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

55 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()

56 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

57 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Http\Middleware\HandleCors->handle()

58 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

59 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Http\Middleware\TrustProxies->handle()

60 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

61 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\Pipeline\Pipeline->then()

62 /home/vagrant/Code/Tools/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()

63 /home/vagrant/Code/Tools/public/index.php(52): Illuminate\Foundation\Http\Kernel->handle()

64 {main}

"}

gyp719 commented 1 year ago

可以加下你的联系方式?

dairidong commented 1 year ago

config/admin.php 里的配置应该写错了

gyp719 commented 1 year ago

config/admin.php 里的配置应该写错了

'extension' => [ // When you use command php artisan admin:ext-make to generate extensions, // the extension files will be generated in this directory. 'dir' => base_path('dcat-admin-extensions'),

    // 3.0 以上
    'media-manager' => [
        // 必须配置
        'disks' => ['public', 'qiniu'],
        // 可选配置
        'allowed_ext'      => 'jpg,jpeg,png,gif,mp4,xlsx,csv,pdf,doc,docx,zip', // 允许的文件扩展
        'show_hidden_files' => false, // 是否显示隐藏文件,如 .gitignore,默认为 false
        'uploader_use_server_validate' => false, // 上传文件是否使用服务端进行验证,默认为 false
        // 使用的控制器
        'controller' => Jatdung\MediaManager\Http\Controllers\MediaManagerController::class,
        // 自行编写的第三方存储适配器,以下是默认值
        'adapters' => [
            Overtrue\Flysystem\Qiniu\QiniuAdapter::class => Jatdung\MediaManager\Adapters\OvertrueQiniuAdapter::class,
        ],
    ],
dairidong commented 1 year ago

用这个 https://github.com/dairidong/dcat-media-manager/archive/refs/tags/3.0.1.zip

gyp719 commented 1 year ago

用这个 https://github.com/dairidong/dcat-media-manager/archive/refs/tags/3.0.1.zip

感谢, 我看到了最新的提交, 是否需要加上这2个参数

'qiniu' => [ 'driver' => 'qiniu', 'access_key' => env('QINIU_ACCESS_KEY'), 'secret_key' => env('QINIU_SECRET_KEY'), 'bucket' => env('QINIU_BUCKET'), 'domain' => env('QINIU_DOMAIN'), // or host: https://xxxx.clouddn.com 's3_region' => 'cn-east-1', 's3_endpoint' => 'https://s3-cn-east-1.qiniucs.com', ],

   加上后提示 Class "League\Flysystem\AwsS3V3\PortableVisibilityConverter" not found

还需要安装 composer require league/flysystem-aws-s3-v3 这个嘛

dairidong commented 1 year ago

用这个 https://github.com/dairidong/dcat-media-manager/archive/refs/tags/3.0.1.zip

感谢, 我看到了最新的提交, 是否需要加上这2个参数

'qiniu' => [ 'driver' => 'qiniu', 'access_key' => env('QINIU_ACCESS_KEY'), 'secret_key' => env('QINIU_SECRET_KEY'), 'bucket' => env('QINIU_BUCKET'), 'domain' => env('QINIU_DOMAIN'), // or host: https://xxxx.clouddn.com 's3_region' => 'cn-east-1', 's3_endpoint' => 'https://s3-cn-east-1.qiniucs.com', ],

   加上后提示 Class "League\Flysystem\AwsS3V3\PortableVisibilityConverter" not found

还需要安装 composer require league/flysystem-aws-s3-v3 这个嘛

要的,文件夹是通过 s3 实现的,国内的对象存储服务商印象中大多数都不直接支持文件夹,只能通过 s3

gyp719 commented 1 year ago

用这个 https://github.com/dairidong/dcat-media-manager/archive/refs/tags/3.0.1.zip

感谢, 我看到了最新的提交, 是否需要加上这2个参数 'qiniu' => [ 'driver' => 'qiniu', 'access_key' => env('QINIU_ACCESS_KEY'), 'secret_key' => env('QINIU_SECRET_KEY'), 'bucket' => env('QINIU_BUCKET'), 'domain' => env('QINIU_DOMAIN'), // or host: https://xxxx.clouddn.com 's3_region' => 'cn-east-1', 's3_endpoint' => 'https://s3-cn-east-1.qiniucs.com', ],

   加上后提示 Class "League\Flysystem\AwsS3V3\PortableVisibilityConverter" not found

还需要安装 composer require league/flysystem-aws-s3-v3 这个嘛

要的,文件夹是通过 s3 实现的,国内的对象存储服务商印象中大多数都不直接支持文件夹,只能通过 s3

测试,终于可以正常显示了, 感谢大佬, 🙏

image
gyp719 commented 1 year ago

目前还有一个bug , 当 bucket 桶 里面为空时候, 会报错。有文件或目录则正常。 可以修复下。 MediaManager adapter exception: Path [/] not exists

image