themismin/laravel-admin-ext-cos
最新稳定版本:v1.1.0
Composer 安装命令:
composer require themismin/laravel-admin-ext-cos
包简介
简单的大文件分片直传腾讯云 COS 的 laravel-admin 扩展
README 文档
README
腾讯云 COS 浏览器分片直传组件,适用于 encore/laravel-admin。
安装
composer require themismin/laravel-admin-ext-cos:^1.1 php artisan vendor:publish --provider="ThemisMin\\LaravelAdminExtCos\\CosJsUploadServiceProvider" --tag=cos-js-upload php artisan vendor:publish --provider="ThemisMin\\LaravelAdminExtCos\\CosJsUploadServiceProvider" --tag=cos-js-upload-config
扩展会自动注册 cosupload 表单字段。旧项目也可以在
app/Admin/bootstrap.php 中显式注册:
Encore\Admin\Form::extend( 'cosupload', \ThemisMin\LaravelAdminExtCos\CosJsUploadField::class );
环境变量
APP_NAME=example COS_SECRET_ID= COS_SECRET_KEY= COS_BUCKET= COS_REGION=ap-shanghai COS_URL=https://example-123456.cos.ap-shanghai.myqcloud.com/
字段类型
$form->cosupload('cover', '封面') ->image() ->storeFullUrl(); $form->cosupload('video', '视频')->video(); $form->cosupload('attachment', '附件')->file();
默认规则:
- 图片:jpg、jpeg、png、webp、gif、bmp、svg,最大 20 MB。
- 视频:mp4、mov、webm、avi、mkv、m4v,最大 2 GB。
- 文件:PDF、Office、文本、CSV 和常见压缩包,最大 500 MB。
字段可覆盖默认限制:
$form->cosupload('cover', '封面') ->image() ->extensions(['jpg', 'png']) ->mimeTypes(['image/jpeg', 'image/png']) ->maxSize(5) ->storeFullUrl();
未调用 image()、video() 或 file() 的旧字段保持无限制。
上传安全
- 浏览器在申请上传授权前校验扩展名、MIME 和大小。
- 上传策略使用 Laravel 加密令牌,客户端无法放宽规则。
- 授权接口由 laravel-admin 的
web和admin中间件保护,并使用 CSRF。 - STS 临时凭证只允许写入本次生成的对象 Key。
- 对象 Key 格式为
{APP_NAME}/{type}/YYYY/MM/DD/UUID.ext。
统计信息
- 总下载量: 19
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-16