- jQuery File Upload
- FancyUpload (based on MooTools)
- MooUpload (based on MooTools)
- YUI3 Uploader (the YUI library is no longer maintained)
- UploadiFive ($ 5.00)
- Multiple file uploads handled by your chosen frontend library
- Chunked uploads
- Support for: Gaufrette / Flysystem / local filesystem
- Provides an orphanage for cleaning up orphaned files
- Supports Session upload progress & cancelation of uploads as of PHP 5.4
- Fully unit tested
The entry point of the documentation can be found in the file
- Version 2.0.0 supports now Symfony 4 (Thank you @istvancsabakis, see #295)! Symfony 2.x support was dropped. You can also configure a file extension validation whitelist now (PR #262).
- Version 1.5.0 supports now Flysystem (Thank you @lsv! PR #213) and is no longer compatible with PHP 5.3 (it's EOL since August 2014 anyway).
- Version v1.0.0 introduced some backward compatibility breaks. For a full list of changes, head to the dedicated pull request.
- If you're using chunked uploads consider upgrading from v0.9.6 to v0.9.7. A critical issue was reported regarding the assembly of chunks. More information in ticket #21.
- Error management changed in Version 0.9.6. You can now register an
ErrorHandlerper configured frontend. This comes bundled with some adjustments to the
blueimpcontroller. More information is available in the documentation.
- Event dispatching changed in Version 0.9.5. The dispatching is now handled in the
upload*functions. So if you have created your own implementation, be sure to remove the call to the
dispatchEventsfunction, otherwise it will be called twice. Furthermore no
POST_UPLOADevent will be fired anymore after uploading a chunk. You can get more information on this topic in the documentation.
- Event names changed in Version 0.9.3, update your EventListener accordingly.
This bundle is under the MIT license. See the complete license in the bundle:
Reporting an issue or a feature request
Issues and feature requests are tracked in the Github issue tracker.
When reporting a bug, it may be a good idea to reproduce it in a basic project built using the Symfony Standard Edition to allow developers of the bundle to reproduce the issue by simply cloning it and following some steps.