micschk/silverstripe-chunkeduploadfield

This package is abandoned and no longer maintained. The author suggests using the lekoala/silverstripe-filepond package instead.

A Silverstripe UploadField that supports (very) large uploads without fiddling with php.ini

Installs: 5 609

Dependents: 2

Suggesters: 1

Security: 0

Stars: 9

Watchers: 2

Forks: 5

Type:silverstripe-module

1.1 2016-12-23 08:55 UTC

This package is auto-updated.

Last update: 2021-06-25 14:20:49 UTC


README

The FilePond module is recommended as a replacement.

Thank you for including this module in your projects over the past seven years.
It's always cool to see your work being used in well over 5000 projects :-)
Screenshot 2021-06-25 at 16 13 07
(packagist data)

silverstripe-chunkeduploadfield

A Silverstripe UploadField that supports (very) large uploads without fiddling with php.ini

Screenshot

Silverstripe 3 info

The ChunkedUploadField hooks into the jQuery-File-Upload module used internally by the standard UploadField. It sets some extra config and hooks into the upload action to add support for uploading large files in chunks.

A video file upload example:

	$mp4field = ChunkedUploadField::create("MP4")->setTitle("MP4 File");
	$mp4field->getValidator()->allowedExtensions = array("mp4");
	$sizeMB = 500 * 1024 * 1024; // 500 MB in bytes
	$mp4field->getValidator()->setAllowedMaxFileSize($sizeMB);

By default, the chunk size is set to 90% of php's upload_max_filesize or post_max_size (whichever is smaller). It can be set to a different size:

	// send in chunks of 1 MB each
	$mp4field->setConfig('maxChunkSize', 1 * 1024 * 1024 );

##How do chunked uploads work?

The maxChunkSize is auto-set to ca 90% of the upload size permitted by PHP. The File Upload plugin splits up files with a file size bigger than maxChunkSize into multiple blobs and submits each of these blobs to the upload url in sequential order. After the full file has been received and reassembled, the upload handling is passed off to the regular UploadField.