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

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

yaojinhui1993/upload
====================

Ajax Upload Large File Support jQuery-File-Upload, FileApi, Plupload, Support framework Laravel 5. Fork from https://github.com/recca0120/upload

v1.7.3(8y ago)034MITPHPPHP &gt;=5.5.9

Since Feb 15Pushed 8y agoCompare

[ Source](https://github.com/yaojinhui1993/upload)[ Packagist](https://packagist.org/packages/yaojinhui1993/upload)[ RSS](/packages/yaojinhui1993-upload/feed)WikiDiscussions master Synced 4w ago

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

[![Donate](https://camo.githubusercontent.com/604e3db9c8751116b3f765aad0353ec7ded655bbe8aaacbc38d8c4a6b784b3ed/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446f6e6174652d50617950616c2d677265656e2e737667)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YNNLC9V28YDPN)

Pure Ajax Upload And for Laravel 5 (Support jQuery-File-Upload, FileApi, Plupload)
----------------------------------------------------------------------------------

[](#pure-ajax-upload-and-for-laravel-5-support-jquery-file-upload-fileapi-plupload)

[![StyleCI](https://camo.githubusercontent.com/e6220ef4703b4655d2882df2713a37fc37359e7cf732c6c85612493da44392dc/68747470733a2f2f7374796c6563692e696f2f7265706f732f34383737323835342f736869656c643f7374796c653d666c6174)](https://styleci.io/repos/48772854)[![Build Status](https://camo.githubusercontent.com/05a61920766af8fd475923ffa7e26509d2ee346be677b476aba660342d019ad8/68747470733a2f2f7472617669732d63692e6f72672f7265636361303132302f75706c6f61642e737667)](https://travis-ci.org/recca0120/upload)[![Total Downloads](https://camo.githubusercontent.com/8b682b86eaaa2b31d2a2636b94b518069eb18c255dd19b4a59fba58cb3111c38/68747470733a2f2f706f7365722e707567782e6f72672f7265636361303132302f75706c6f61642f642f746f74616c2e737667)](https://packagist.org/packages/recca0120/upload)[![Latest Stable Version](https://camo.githubusercontent.com/eb4c95aa5986a14e3627639e526fac1d184061598902899e2701956c3b2bbc5c/68747470733a2f2f706f7365722e707567782e6f72672f7265636361303132302f75706c6f61642f762f737461626c652e737667)](https://packagist.org/packages/recca0120/upload)[![Latest Unstable Version](https://camo.githubusercontent.com/7e47b0b7db9f01dc97d7cca3851f33ee3b86bfb837ccc1442e49e0f986704722/68747470733a2f2f706f7365722e707567782e6f72672f7265636361303132302f75706c6f61642f762f756e737461626c652e737667)](https://packagist.org/packages/recca0120/upload)[![License](https://camo.githubusercontent.com/33e0426cd31c23a9ed6628eac456ca9ba8eddcbe59b082d24f7fff0220079918/68747470733a2f2f706f7365722e707567782e6f72672f7265636361303132302f75706c6f61642f6c6963656e73652e737667)](https://packagist.org/packages/recca0120/upload)[![Monthly Downloads](https://camo.githubusercontent.com/abe6f8f8c8ec17059dbb99c611160a4af54ab1f6081697e45ff4629b934b744f/68747470733a2f2f706f7365722e707567782e6f72672f7265636361303132302f75706c6f61642f642f6d6f6e74686c79)](https://packagist.org/packages/recca0120/upload)[![Daily Downloads](https://camo.githubusercontent.com/24ec96bbccfa21c6ef4ace4c73761b69cc2d4960a77e4616835040209ec170e7/68747470733a2f2f706f7365722e707567782e6f72672f7265636361303132302f75706c6f61642f642f6461696c79)](https://packagist.org/packages/recca0120/upload)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/9405669b1ced6ebc1ee44b9bb61d3b7541af7ab5d8b1b100e09425f00625ee21/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7265636361303132302f75706c6f61642f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/recca0120/upload/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/92c24b5e49fcd07ba436b39d23c36954adb4d951ee9f3bc0a4ec55a76a89b784/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7265636361303132302f75706c6f61642f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/recca0120/upload/?branch=master)

Features
--------

[](#features)

- Support Chunks [jQuery-File-Upload](https://github.com/blueimp/jQuery-File-Upload) $driver = 'fileapi';
- Support Chunks [Dropzone](https://fineuploader.com/) $driver = 'dropzone';
- Support Chunks [FileApi](http://mailru.github.io/FileAPI/) $driver = 'fileapi';
- Support Chunks [Fine Uploader](https://fineuploader.com/) $driver = 'fine-uploader';
- Support Chunks [Plupload](http://www.plupload.com/) $driver = 'plupload';

Installing
----------

[](#installing)

To get the latest version of Laravel Exceptions, simply require the project using [Composer](https://getcomposer.org):

```
composer require recca0120/upload
```

Instead, you may of course manually update your require block and run `composer update` if you so choose:

```
{
    "require": {
        "recca0120/upload": "^1.7"
    }
}
```

Laravel 5
---------

[](#laravel-5)

Include the service provider within `config/app.php`. The service povider is needed for the generator artisan command.

```
'providers' => [
    ...
    Recca0120\Upload\UploadServiceProvider::class,
    ...
];
```

publish

```
artisan vendor:publish --provider="Recca0120\Upload\UploadServiceProvider"
```

How to use
----------

[](#how-to-use)

Controller

```
use Illuminate\Http\JsonResponse;
use Yaojinhui1993\Upload\UploadManager;
use Symfony\Component\HttpFoundation\File\UploadedFile;

class UploadController extends Controller
{
    public function upload(UploadManager $manager)
    {
        $driver = 'plupload'; // or 'fileapi'
        $inputName = 'file'; // $_FILES index;

        return $manager->driver($driver)->receive($inputName);

        // or
        return $manager
            ->driver($driver)
            ->receive($inputName, function (UploadedFile $uploadedFile, $path, $domain, $api) {
                $clientOriginalName = $uploadedFile->getClientOriginalName();
                $clientOriginalExtension = strtolower($uploadedFile->getClientOriginalExtension());
                $basename = pathinfo($uploadedFile->getBasename(), PATHINFO_FILENAME);
                $filename = md5($basename).'.'.$clientOriginalExtension;
                $mimeType = $uploadedFile->getMimeType();
                $size = $uploadedFile->getSize();
                $uploadedFile->move($path, $filename);
                $response = [
                    'name' => pathinfo($clientOriginalName, PATHINFO_FILENAME).'.'.$clientOriginalExtension,
                    'tmp_name' => $path.$filename,
                    'type' => $mimeType,
                    'size' => $size,
                    'url' => $domain.$path.$filename,
                ];

                return new JsonResponse($response);

            });
    }
}
```

Factory
-------

[](#factory)

```
use Yaojinhui1993\Upload\Receiver;
use Illuminate\Http\JsonResponse;

require __DIR__.'/vendor/autoload.php';

$config = [
    'chunks' => 'path_to_chunks',
    'storage' => 'path_to_storage',
    'domain' => 'http://app.dev/',
    'path' => 'web_path'
];

$inputName = 'file';
$storagePath = 'relative path';
$api = 'fileapi'; // or plupload

Receiver::factory($config, $api)->receive($inputName)->send();
```

Standalone
----------

[](#standalone)

```
use Yaojinhui1993\Upload\Receiver;
use Yaojinhui1993\Upload\FileAPI;
use Yaojinhui1993\Upload\Plupload;
use Illuminate\Http\JsonResponse;

require __DIR__.'/vendor/autoload.php';

$config = [
    'chunks' => 'path_to_chunks',
    'storage' => 'path_to_storage',
    'domain' => 'http://app.dev/',
    'path' => 'web_path'
];

$inputName = 'file';
$storagePath = 'relative path';

// if use Plupload, new Recca0120\Upload\Plupload
$receiver = new Receiver(new FileAPI($config));
// save to $config['base_path'].'/'.$storagePath;
$receiver->receive($inputName)->send();
```

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 93.5% 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 ~22 days

Recently: every ~10 days

Total

35

Last Release

3066d ago

Major Versions

v0.0.4 → v1.0.02016-06-06

PHP version history (2 changes)v0.0.4PHP &gt;=5.4.0

v1.2.0PHP &gt;=5.5.9

### Community

Maintainers

![](https://www.gravatar.com/avatar/46852dcfafc9c803c69ff56a9c3eda0347577c27fcd4e15e41c5265240fb97ec?d=identicon)[yaojinhui1993](/maintainers/yaojinhui1993)

---

Top Contributors

[![recca0120](https://avatars.githubusercontent.com/u/1390554?v=4)](https://github.com/recca0120 "recca0120 (58 commits)")[![yaojinhui1993](https://avatars.githubusercontent.com/u/29257266?v=4)](https://github.com/yaojinhui1993 "yaojinhui1993 (4 commits)")

---

Tags

laraveluploadajaxchunkpluploadjquery-file-uploaddropzonefileapijquery-fileapi

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[recca0120/upload

Ajax Upload Large File Support jQuery-File-Upload, FileApi, Plupload, For framework Laravel

806.7k](/packages/recca0120-upload)[unisharp/laravel-filemanager

A file upload/editor intended for use with Laravel 5 to 10 and CKEditor / TinyMCE

2.2k3.6M90](/packages/unisharp-laravel-filemanager)[yajra/laravel-datatables-oracle

jQuery DataTables API for Laravel

4.9k36.9M383](/packages/yajra-laravel-datatables-oracle)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9922.4M146](/packages/roots-acorn)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.4M354](/packages/psalm-plugin-laravel)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45844.8k1](/packages/pressbooks-pressbooks)

PHPackages © 2026

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