micschk / silverstripe-chunkeduploadfield
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
Requires
- silverstripe/framework: ~3.1
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 :-)
(packagist data)
silverstripe-chunkeduploadfield
A Silverstripe UploadField that supports (very) large uploads without fiddling with php.ini
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.