laravel-admin上传图片到线上需要注意的问题

 赵丽颖 2021-08-18 17:37:03 138人浏览 PHP

1、在composer.json中添加插件"freyo/flysystem-qcloud-cos-v5": "^2.0", 然后执行composer update

2、在config/app.php中添加如下语句:

'providers' => [
  // ...
  Freyo\Flysystem\QcloudCOSv5\ServiceProvider::class,
]
3、在config/filesystems.php添加如下语句:

'disks'=>[
    // ...
    'cosv5' => [
          'driver' => 'cosv5',
          'region'          => env('COSV5_REGION', 'ap-guangzhou'),
          'credentials'     => [
              'appId'     => env('COSV5_APP_ID'),
              'secretId'  => env('COSV5_SECRET_ID'),
              'secretKey' => env('COSV5_SECRET_KEY'),
              'token'     => env('COSV5_TOKEN'),
          ],
          'timeout'         => env('COSV5_TIMEOUT', 60),
          'connect_timeout' => env('COSV5_CONNECT_TIMEOUT', 60),
          'bucket'          => env('COSV5_BUCKET'),
          'cdn'             => env('COSV5_CDN'),
          'scheme'          => env('COSV5_SCHEME', 'https'),
          'read_from_cdn'   => env('COSV5_READ_FROM_CDN', false),
          'cdn_key'         => env('COSV5_CDN_KEY'),
          'encrypt'         => env('COSV5_ENCRYPT', false),
    ],
],
4、在.env中添加如下语句:

COSV5_APP_ID=
COSV5_SECRET_ID=
COSV5_SECRET_KEY=
COSV5_TOKEN=null
COSV5_TIMEOUT=60
COSV5_CONNECT_TIMEOUT=60
COSV5_BUCKET=
COSV5_REGION=ap-guangzhou
COSV5_CDN=
COSV5_SCHEME=https
COSV5_READ_FROM_CDN=false
COSV5_CDN_KEY=
COSV5_ENCRYPT=false
5、修改.env文件 FILESYSTEM_DRIVER=local 改成 FILESYSTEM_DRIVER=cosv5

6、修改config/admin.php中

'upload' => [

        'disk' => 'public',   改成  'disk' => 'cosv5',

    ],

],

7、修改底层文件vendor/qcloud/cos-sdk-v5/src/Qcloud/Cos/Client.php

$body = Psr7\stream_for($body);  改成  $body = \GuzzleHttp\Psr7\Utils::streamFor($body);

8、修改底层文件vendor/qcloud/cos-sdk-v5/src/Qcloud/Cos/Request/BodyLocation.php

Psr7\stream_for($value)   改成   \GuzzleHttp\Psr7\Utils::streamFor($value)

9、获取上传文件地址前部分为:$host = \Storage::disk(config('admin.upload.disk'))->url('/');

 

欢迎使用 Laravel-admin

还没有账号?立即注册 忘记密码?
 

欢迎注册 Laravel-admin