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确认

相关推荐
翼龙云_cloud13 小时前
阿里云渠道商:如何使用弹性伸缩来实现计算资源的弹性配置?
服务器·阿里云·云计算
专注前端30年14 小时前
【PHP开发与安全防护实战】性能调优手册
android·安全·php
oMcLin15 小时前
如何在 RHEL 7 上优化 Nginx 与 PHP‑FPM 配置,确保高并发 Web 应用的稳定性与响应速度?
前端·nginx·php
IT=>小脑虎19 小时前
PHP零基础衔接进阶知识点【详解版】
开发语言·学习·php
xifangge202519 小时前
PHP 接口跨域调试完整解决方案附源码(从 0 到定位问题)
开发语言·php
ICT董老师20 小时前
通过kubernetes部署nginx + php网站环境
运维·nginx·云原生·容器·kubernetes·php
bleach-21 小时前
buuctf系列解题思路祥讲--[SUCTF 2019]CheckIn1--文件上传以及user.ini的应用
nginx·web安全·网络安全·php
CodeCaptain21 小时前
配置Nginx反向代理来实现负载均衡,续阿里云ECS配置Nginx反向代理
nginx·阿里云·负载均衡
Bin Watson21 小时前
Ubuntu安装Docker记录(基于阿里云)
ubuntu·阿里云·docker
BingoGo1 天前
免费可商用商业级管理后台 CatchAdmin V5 正式发布 插件化与开发效率的全面提升
vue.js·后端·php