Laravel 使用阿里云OSS S3 协议文件上传

1. 安装 S3 软件包

复制代码
composer require league/flysystem-aws-s3-v3 "^3.0" --with-all-dependencies

2. 配置.env

以阿里云 OSS 地域华东2 上海为例:

php 复制代码
FILESYSTEM_DISK=s3                                                      //设置默认上传到S3

AWS_ACCESS_KEY_ID=****************************                // 阿里云 AccessKey ID
AWS_SECRET_ACCESS_KEY=********************************   // 阿里云 AccessKey Secret
AWS_DEFAULT_REGION=cn-shanghai                              //区域
AWS_BUCKET=file-upload-s3                                         //存储空间名称
AWS_ENDPOINT=https://oss-cn-shanghai.aliyuncs.com  //阿里云 OSS 端点
AWS_USE_PATH_STYLE_ENDPOINT=false                        //阿里云使用虚拟主机模式(必须设为 false)
AWS_URL=                                                                   // 可选:自定义访问域名(如 CDN 域名)

3. 创建上传文件的控制器

复制代码
php artisan make:controller UploadController

4. 文件上传控制器的内容

php 复制代码
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UploadController extends Controller
{
    public function avatar(Request $request)
    {
        //返回阿里云相对文件路径
        $path = $request->file('avatar')->store('avatars');

        return [
          'message' => '上传成功',
          'code' => 200,
          'data' => ['url' => $path],
          'success' => true,
        ];
    }
}

5. 添加上传路由代码

php 复制代码
//上传用户头像
Route::post('/upload/avatar', [UploadController::class, 'avatar']);

6. 使用apifox测试

7. 登录阿里云后台OSS确认

相关推荐
&&Citrus11 小时前
【CPN学习笔记(二)】Chap2 非分层颜色 Petri 网——从一个简单协议开始读懂 CPN
笔记·学习·php·cpn·petri网
ZStack开发者社区15 小时前
云边协同 智启未来 | 阿里云 × ZStack 云边一体解决方案正式落地
阿里云·云计算·边缘计算
普通网友15 小时前
阿里云国际版服务器,真的是学生党的性价比之选吗?
后端·python·阿里云·flask·云计算
Xudde.18 小时前
班级作业笔记报告0x10
笔记·学习·安全·web安全·php
我叫黑大帅19 小时前
PHP中的官方操作数据库PDO
后端·面试·php
Zzj_tju20 小时前
Java 从入门到精通(十二):File 与 IO 流基础,为什么程序“读写文件”时总是容易出问题?
java·python·php
MonkeyKing_sunyuhua20 小时前
阿里云ECS安装docker compose
阿里云·docker·云计算
翼龙云_cloud1 天前
阿里云代理商:部署OpenClaw高效办公六式 智能打理日常任务
人工智能·阿里云·云计算·openclaw
流觞 无依1 天前
DedeCMS 前台任意用户密码修改漏洞(CNVD-2018-0109)修复教程
php·dede漏洞
沉迷学习 日益消瘦1 天前
(windows环境)白嫖阿里云百炼免费 Token 使用 Claude 教程
windows·阿里云·claude·token·百炼