/laravel-chunk-upload

The basic implementation for chunk upload with multiple providers support like jQuery-file-upload, pupload, DropZone and resumable.js

Primary LanguagePHPMIT LicenseMIT

Laravel Chunk Upload

Total Downloads Build Status Latest Stable Version Latest Unstable Version License

Introduction

Supports Laravel from 5.2 to 7 (covered by integration tests on all versions).

Easy to use service/library for chunked upload with supporting multiple JS libraries on top of Laravel's file upload with low memory footprint in mind.

Supports feature as cross domains requests, automatic clean schedule and easy usage.

Example repository with integration tests can be found in laravel-chunk-upload-example.

Before adding pull requests read CONTRIBUTION.md. Help me fix your bugs by debugging your issues using XDEBUG (and try to do a fix - it will help you become better).

Installation

1. Install via composer

composer require pion/laravel-chunk-upload

2. Publish the config (Optional)

php artisan vendor:publish --provider="Pion\Laravel\ChunkUpload\Providers\ChunkUploadServiceProvider"

Usage

Setup consists of 3 steps:

  1. Integrate your controller that will handle the file upload. How to
  2. Set a route for the controller. How to
  3. Choose your front-end provider below (we support multiple providers in single controller)
Library Wiki single & chunk upload simultaneous uploads In example project Author
resumable.js Wiki ✔️ ✔️ ✔️ @pionl
DropZone Wiki ✔️ ✔️ ✔️ @pionl
jQuery-File-Upload Wiki ✔️ ✖️ ✔️ @pionl
Plupload Wiki ✔️ ✖️ ✖️ @pionl
simple uploader ✖️ ✔️ ✖️ ✖️ @dyktek
ng-file-upload Wiki ✔️ ✖️ ✖️ @L3o-pold

Simultaneous uploads: The library must send last chunk as last, otherwise the merging will not work correctly.

Custom disk: At this moment I recommend using the basic storage setup (not linking public folder). It is not tested (Have free time to ensure it is working? PR the changes!).

For more detailed information (tips) use the Wiki or for working example continue to separate repository with example.

Changelog

Can be found in releases.

Contribution or extending

Read contribution before your PR (and use example repository to run integration tests).

See CONTRIBUTING.md for how to contribute changes. All contributions are welcome.

Compatibility

  • 7.* (last tested on v7.16.1)
  • 6.* (last tested on v6.18.20)
  • 5.8.* (last tested on v5.8.38)
  • 5.7.* (last tested on v5.7.29)
  • 5.6.* (last tested on v5.6.40)
  • 5.5.* (last tested on v5.5.49)
  • 5.4.* (last tested on v5.4.36)
  • 5.3.* (last tested on v5.3.31)
  • 5.2.* (last tested on v5.2.45)

Copyright and License

laravel-chunk-upload was written by Martin Kluska and is released under the MIT License.

Copyright (c) 2016 and beyond Martin Kluska