关于阿里云上传图片回调上传相关

本文介绍了如何在 Laravel 项目中使用阿里云OSS作为文件存储,并通过回调方式实现图片上传及处理,包括Composer安装、filesystems.php配置和OSSController中的接口编写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先用的是回调方式,接下来 我们看看对应流程。

在开发之前 先获取到阿里云oss相关

在composer.json引入 类包

"iidestiny/laravel-filesystem-oss": "^2",

在laravel项目下condfig下的filesystems.php下  增加uploadsdisk驱动

'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'),
    ],

    'oss' => [
        'driver' => 'oss',
        'root' => '', // 设置上传时根前缀
        'access_key' => env('OSS_ACCESS_KEY'),
        'secret_key' => env('OSS_SECRET_KEY'),
        'endpoint'   => env('OSS_ENDPOINT'),
        'bucket'     => env('OSS_BUCKET'),
        'isCName'    => env('OSS_IS_CNAME', false), // 如果 isCname 为 false,endpoint 应配置 oss 提供的域名如:`oss-cn-beijing.aliyuncs.com`,否则为自定义域名,,cname 或 cdn 请自行到阿里 oss 后台配置并绑定 bucket
        // 如果有更多的 bucket 需要切换,就添加所有bucket,默认的 bucket 填写到上面,不要加到 buckets 中
        'buckets'=>[
            'test'=>[
                'access_key' => env('OSS_ACCESS_KEY'),
                'secret_key' => env('OSS_SECRET_KEY'),
                'bucket'     => env('OSS_TEST_BUCKET'),
                'endpoint'   => env('OSS_TEST_ENDPOINT'),
                'isCName'    => env('OSS_TEST_IS_CNAME', false),
            ],
            //...
        ],
    ],
],

接下来在OssController.php中写入上传图片和处理图片回调接口

<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Storage;

class OssController extends Controller
{
    public function show()
    {
        $disk = Storage::disk('oss');
        $callBackUrl = url('/aaaa/ooo_callback');
        $config = $disk->signatureConfig($prefix = 'upload/images/', $callBackUrl, $customData = [], $expire = 30);
        $config = json_decode($config);
        return response_json($config);
    }

    public function callback()
    {
        $disk = Storage::disk('oss');
        list($verify, $data) = $disk->verify();
        return response()->json($data);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值