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

相关推荐
毕设源码-郭学长9 小时前
【开题答辩全过程】以 PHP茶叶同城配送网站的设计与实现为例,包含答辩的问题和答案
开发语言·php
whltaoin21 小时前
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
人工智能·spring·阿里云·向量数据库·rag
Hello.Reader2 天前
优化 Flink 基于状态的 ETL少 Shuffle、不膨胀、可落地的工程
flink·php·etl
XiaoLeisj2 天前
【SpringAI】第四弹:深入解析 Rag 检索增强工作流程、最佳实践和调优
阿里云·原型模式·rag·spring ai·灵积大模型
Q_Q5110082852 天前
python+springboot+uniapp基于微信小程序的任务打卡系统
spring boot·python·django·flask·uni-app·node.js·php
指针不南2 天前
Android Studio | 设置国内代理(SDK 设置国内代理(阿里云镜像))
android·阿里云·android studio
ManThink Technology2 天前
实用的LoRaWAN 应用层协议规范
开发语言·php
emma羊羊2 天前
【文件读写】绕过验证下
网络安全·php·upload·文件读写
catchadmin2 天前
如何在 PHP 升级不踩坑?学会通过阅读 RFC 提前预知版本变化
开发语言·后端·php