PHPackages                             mrshanebarron/file-upload - 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. mrshanebarron/file-upload

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

mrshanebarron/file-upload
=========================

File upload component for Laravel - supports Livewire and Vue

v1.0.4(4mo ago)013MITVuePHP ^8.1

Since Dec 14Pushed 4mo agoCompare

[ Source](https://github.com/mrshanebarron/file-upload)[ Packagist](https://packagist.org/packages/mrshanebarron/file-upload)[ RSS](/packages/mrshanebarron-file-upload/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (6)Used By (0)

File Upload
===========

[](#file-upload)

A drag-and-drop file upload component for Laravel applications. Supports multiple files, size validation, and progress display. Works with Livewire and Vue 3.

Installation
------------

[](#installation)

```
composer require mrshanebarron/file-upload
```

Livewire Usage
--------------

[](#livewire-usage)

### Basic Usage

[](#basic-usage)

```

```

### Single File

[](#single-file)

```

```

### With Validation

[](#with-validation)

```

```

### Livewire Props

[](#livewire-props)

PropTypeDefaultDescription`wire:model`array`[]`Selected files`multiple`boolean`true`Allow multiple files`accept`string`'*'`Accepted file types`max-size`number`null`Max file size in bytesVue 3 Usage
-----------

[](#vue-3-usage)

### Setup

[](#setup)

```
import { SbFileUpload } from './vendor/sb-file-upload';
app.component('SbFileUpload', SbFileUpload);
```

### Basic Usage

[](#basic-usage-1)

```

import { ref } from 'vue';
const files = ref([]);

```

### Image Upload

[](#image-upload)

```

import { ref } from 'vue';

const images = ref([]);

const handleError = ({ file, message }) => {
  alert(message);
};

```

### Document Upload

[](#document-upload)

```

    Upload Documents

    PDF, DOC, DOCX up to 10MB each

```

### Vue Props

[](#vue-props)

PropTypeDefaultDescription`modelValue`Array`[]`Array of File objects`multiple`Boolean`true`Allow multiple files`accept`String`'*'`File type filter (MIME or extensions)`maxSize`Number`null`Maximum file size in bytes### Events

[](#events)

EventPayloadDescription`update:modelValue``File[]`Files changed`error``{ file, message }`Validation errorFeatures
--------

[](#features)

- **Drag and Drop**: Visual drop zone
- **File Browser**: Click to browse files
- **Multiple Files**: Upload many files at once
- **Size Validation**: Reject oversized files
- **Type Filtering**: Accept specific file types
- **File Preview**: Show selected files with sizes
- **Remove Files**: Click to remove individual files
- **Progress Display**: Show upload progress

Styling
-------

[](#styling)

Uses Tailwind CSS:

- Dashed border drop zone
- Blue highlight on drag over
- File list with icons
- Remove buttons on hover

Requirements
------------

[](#requirements)

- PHP 8.1+
- Laravel 10, 11, or 12
- Tailwind CSS 3.x

License
-------

[](#license)

MIT License

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance75

Regular maintenance activity

Popularity5

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

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 ~2 days

Total

5

Last Release

142d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7a38dc9b4ccc180ee3e9df8879f8747ea9dbf36812c6546827fe504fa8993eb8?d=identicon)[mrshanebarron](/maintainers/mrshanebarron)

### Embed Badge

![Health badge](/badges/mrshanebarron-file-upload/health.svg)

```
[![Health](https://phpackages.com/badges/mrshanebarron-file-upload/health.svg)](https://phpackages.com/packages/mrshanebarron-file-upload)
```

###  Alternatives

[aws/aws-sdk-php-laravel

A simple Laravel 9/10/11/12/13 service provider for including the AWS SDK for PHP.

1.7k35.6M75](/packages/aws-aws-sdk-php-laravel)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[stechstudio/laravel-zipstream

A fast and simple streaming zip file downloader for Laravel.

4633.7M3](/packages/stechstudio-laravel-zipstream)[spatie/laravel-google-cloud-storage

Google Cloud Storage filesystem driver for Laravel

2408.9M13](/packages/spatie-laravel-google-cloud-storage)[azure-oss/storage-blob-laravel

Azure Storage Blob filesystem driver for Laravel

63582.2k1](/packages/azure-oss-storage-blob-laravel)[spatie/laravel-backup-server

Backup multiple applications

17016.7k1](/packages/spatie-laravel-backup-server)

PHPackages © 2026

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