A Laravel library to provide file upload utilities. A Javascript library builds a complete file upload widget with upload button, drag-and-drop zone, progress bar and result builder. A controller is available to manage uploaded files. Current version: 4.3.0. Project on GitHub. Project on Packagist. This demosite sources available here.

On this site, you can only upload files up to 1MB and having extensions png, jpg, jpeg, gif, doc, rtf, docx, doc, pdf, txt, htm, html, odt, ogg, mp3, aac, raw, flac, au, zip, gz, xls, ods, csv, ppt, odp, avi, mov, mpg, mpeg, mpa, asf, wma, mp2. Files will be destroyed after 10 minutes.

Complete uploader

This uploader uses a result plugin which displays results in a nice list. Additional parameters are added to file upload procedure, both on uploader init and with a function ttaht is called before uploading. All you need to know about file processing available here.

In your controller create an instance of UploaderHelper and pass the variable to the view.

$uploader =UploaderHelper::init(
  'uploaderdiv3', //uploader id
  route('fileupload2'), // route for file prodessing
    'filecontainer' => 'UploadedFileContainerExt', // class of object containing files replaces default class
    'multiple' => true, // multiple files can be uploaded,
    'maxfilesizek' => 1024, // max file size
    'path' => '/uploads', // folder in storage where files must be uploaded
    'storagename' => 'public', // file storage
    'delurl' => route('filedelete'), // route to file delete method that will be sent to result processor
    'additionalparamsfn' => 'getparams', //function to dynamically set additional parameters sent to file upload method
    'afteruploadfn' => 'writeinupres',  //callback after file upload success (here it puts results in above text area)
  ]], [ // additional parameters transmitted to upload script
    'type' => "cover",
return view('template', ['uploader' => $uploader]);

Javascript code to be inserted in blade template to process file uploader method results:

<script type="text/javascript">
   /* extends basic result object*/
   var getparams = function(){
     return {
       'time' : jQuery('#adddata').text()

Then just insert the variable in the appropriate section in your view: {!! $uploader !!}


Uploader results