Skip to content

hgouveia/ng-upload-chunked

Repository files navigation

Ng Upload Chunked

Packagist Version Build Status HHVM Build Status Windows Build Status FOSSA Status

Php implementation of the file chunked upload for the angular directive ng-file-upload

Note: it could work for any html5 uploader with chunked upload if NgFileChunk is constructed properly

Install

Clone or download this repo, see the example

With Composer

$ composer require hgouveia/ng-upload-chunked

Example of Usage

API doc

Check complete usage in the example folder

<?php
// In your POST handler
/*
 $defaultConfig = [
        "ext" => ".part",
        "fileInputName" => "file",
        "directoryPermission" => 0755,
        "readChunkSize" => 1048576, // 1MB
        "uploadDirectory" => "",
        "tempDirectory" => "",
    ];
*/
$nguc = new \NGUC\NgUploadChunked(); //optional $config param

try {
    // Contains the information of the current chunk
    $chunk = new \NGUC\NgFileChunk(
        $_POST['_uniqueId'],
        $_FILES['file']['name'],
        $_POST['_chunkSize'],
        $_POST['_currentChunkSize'],
        $_POST['_chunkNumber'],
        $_POST['_totalSize'],
    );
    
    // this could be used instead, if ng-file-upload is beign used
    //$chunk = new \NGUC\NgFileChunk();
    //$chunk->populate($_POST['_uniqueId'], $_FILES['file']['name']);

    $nguc->process($chunk);

    // response the path when finished
    if ($nguc->isFinished()) {
        echo $nguc->getUploadPath();
    }

} catch (\NGUC\NGUCException $e) {
    echo "ERROR: " . $e->getCode() . " - " . $e->getMessage();
}

Test

$ ./vendor/bin/peridot test

or if npm is available

$ npm test

License

Read License for more licensing information.

FOSSA Status

Contributing

Read here for more information.

About

Php implementation of the file chunked upload for the angular directive ng-file-upload

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •