PHPackages                             mradang/laravel-oss - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. mradang/laravel-oss

ActiveLibrary[File &amp; Storage](/categories/file-storage)

mradang/laravel-oss
===================

laravel-oss

v2.9.0(3mo ago)0746MITPHP

Since Feb 6Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/mradang/laravel-oss)[ Packagist](https://packagist.org/packages/mradang/laravel-oss)[ RSS](/packages/mradang-laravel-oss/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (8)Versions (25)Used By (0)

laravel-oss
===========

[](#laravel-oss)

安装
--

[](#安装)

```
$ composer require mradang/laravel-oss -vvv
```

### 可选项

[](#可选项)

1. 发布配置文件

```
$ php artisan vendor:publish --provider="mradang\\LaravelOss\\LaravelOssServiceProvider"
```

配置
--

[](#配置)

1. 添加 .env 环境变量，使用默认值时可省略

```
OSS_ACCESS_KEY_ID=
OSS_ACCESS_KEY_SECRET=
# 接入点应使用 CName 绑定自有域名
OSS_ENDPOINT=
OSS_BUCKET=
# 限定上传目录
OSS_DIR=
# 上传文件最大限制，默认 2MB
OSS_MAXSIZE=2MB
# 回调地址，默认当前用户访问地址：request()->getSchemeAndHttpHost()
OSS_CALLBACK=

```

2. 添加对象跟踪任务

修改 laravel 工程 app\\Console\\Kernel.php 文件，在 schedule 函数中增加

```
// 跟踪 OSS 对象上传
$schedule
->call(function () {
    try {
        \mradang\LaravelOss\Services\OssService::scheduleTracker();
    } catch (\Exception $e) {
        logger()->warning('OSS 对象跟踪失败：'.$e->getMessage());
    }
})
->cron('* * * * *')
->name('OssService::scheduleTracker')
->withoutOverlapping();
```

添加的内容
-----

[](#添加的内容)

### 添加的数据表迁移

[](#添加的数据表迁移)

- oss\_objects
- oss\_tracks

### 添加的路由

[](#添加的路由)

- post /api/laravel\_oss/callback

使用
--

[](#使用)

### 模型 Trait

[](#模型-trait)

```
use mradang\LaravelOss\Traits\OssObjectTrait;
```

### 模型 boot

[](#模型-boot)

模型删除时自动清理 OSS 对象

### 模型实例方法

[](#模型实例方法)

> - array ossobjectUploadParams($extension, $group, array $data = \[\]) 为模型生成前端直传参数
> - morphMany ossobjects 对象关联（一对多）
> - mradang\\LaravelOss\\Models\\OssObject ossobjectFind($name) 查找对象
> - void ossobjectDelete($name) 删除对象（异步）
> - void ossobjectClear($group = null) 清空模型的全部对象
> - void ossobjectSaveSort(array $data) 保存对象排序
> - mradang\\LaravelOss\\Models\\OssObject ossobjectCreateByFile($filename, $group, array $data = \[\]) 上传本地文件
> - mradang\\LaravelOss\\Models\\OssObject ossobjectCreateByUrl($url, $group, array $data = \[\]) 上传 Url 文件
> - void ossobjectAsyncCreateByUrl($url, $group, array $data = \[\]) 异步上传 Url 文件
> - void ossobjectUpdateData(int $id, array $data) 更新附加数据

### 模型静态方法

[](#模型静态方法)

```
// $timeout 生成 URL 的有效期，最长 3600 秒（1 小时）
// $options OSS 数据处理选项
// -- 图片处理 $options['x-oss-process'] = "image/resize,h_${height},w_${width}";
```

> - string ossobjectGenerateUrl($object, $timeout = 300, $options = null) 为对象生成访问链接

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance81

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~97 days

Recently: every ~310 days

Total

24

Last Release

100d ago

Major Versions

v1.0.4 → v2.0.02020-02-15

### Community

Maintainers

![](https://www.gravatar.com/avatar/b19d9f12d42f3aa6dec88a2d59f8d2b452ee0c4bb7504ef5e9f06938df1e9d0b?d=identicon)[mradang](/maintainers/mradang)

---

Top Contributors

[![mradang](https://avatars.githubusercontent.com/u/1206671?v=4)](https://github.com/mradang "mradang (66 commits)")

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/mradang-laravel-oss/health.svg)

```
[![Health](https://phpackages.com/badges/mradang-laravel-oss/health.svg)](https://phpackages.com/packages/mradang-laravel-oss)
```

###  Alternatives

[backpack/crud

Quickly build admin interfaces using Laravel, Bootstrap and JavaScript.

3.4k3.7M223](/packages/backpack-crud)[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135224.7k7](/packages/statamic-rad-pack-runway)[rahulhaque/laravel-filepond

Use FilePond the Laravel way

264135.3k2](/packages/rahulhaque-laravel-filepond)[ecotone/laravel

Ecotone for Laravel — CQRS, Event Sourcing, Sagas, Durable Workflows, and Outbox on top of Laravel Queue, via PHP attributes.

21318.6k3](/packages/ecotone-laravel)[slimani/filament-media-manager

A media manager plugin for Filament.

126.9k](/packages/slimani-filament-media-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
