PHPackages                             codem/silverstripe-damn-fine-uploader - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. codem/silverstripe-damn-fine-uploader

ActiveSilverstripe-vendormodule[File &amp; Storage](/categories/file-storage)

codem/silverstripe-damn-fine-uploader
=====================================

An HTML5 upload field for Silverstripe 4, including editable form fields for silverstripe/userforms

v0.4.0(2y ago)26.4k3[5 PRs](https://github.com/codem/silverstripe-damn-fine-uploader/pulls)1BSD-3-ClausePHPPHP ^7.4 || ^8.0CI failing

Since Aug 31Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/codem/silverstripe-damn-fine-uploader)[ Packagist](https://packagist.org/packages/codem/silverstripe-damn-fine-uploader)[ Docs](https://github.com/codem/silverstripe-damn-fine-uploader)[ RSS](/packages/codem-silverstripe-damn-fine-uploader/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (7)Versions (23)Used By (1)

A file upload module for Silverstripe
=====================================

[](#a-file-upload-module-for-silverstripe)

An upload field that can be used to upload files to a Silverstripe website.

The frontend uses [Uppy](https://uppy.io/) to handle &amp; submit client uploads.

Features
--------

[](#features)

- a page model + controller allowing upload of one or more files to a chosen folder
- support for userforms via an editable upload field
- mime type validation via [silverstripe/mimevalidator](https://github.com/silverstripe/silverstripe-mimevalidator)
- sub resource integrity (SRI) support for generated requirements
- thumbnail generation of uploaded images for the silverstripe/asset-admin
- min/max image dimension verification (via Uppy)
- configurable file size restrictions
- restrict uploads by one or more file types
- restrict uploads by file size

> This module is not intended for use in the Silverstripe administration area, use the standard UploadField for that.

Installing
----------

[](#installing)

```
composer require codem/silverstripe-damn-fine-uploader

```

[Use the latest version](https://github.com/codem/silverstripe-damn-fine-uploader/tags)

Upload security
---------------

[](#upload-security)

### In the module and administration area

[](#in-the-module-and-administration-area)

- Set asset folders chosen as upload targets to be restricted (i.e no public access)
- Verify the above by attempting to access file URLs anonymously

### Generally

[](#generally)

- Use the `public` directory setup process available in more recent versions of Silverstripe
- Ensure your web server is configured to not serve files that can be considered dangerous if they are served from an upload directory
- Review upload fields periodically to ensure they are configured correctly

Configuration
-------------

[](#configuration)

Have a look in `_config/config.yml` for various configuration options and see also [Default Configuration](./docs/en/003_configuration.md)

Modify the `signing_key` value in your project configuration, along with anything else you like (e.g upload size limits)

The `implementation` entry can be used to add any configuration value supported by the field.

Fields
------

[](#fields)

See [fields documentation](./docs/en/0001_fields.md) for examples.

Browser support
---------------

[](#browser-support)

All the good ones. The Uppy website provides [a list of supported browsers](https://uppy.io/docs/#Browser-Support)

Even though Uppy purports to support Internet Explorer, any bugs raised related to Internet Explorer will be closed.

Issues
------

[](#issues)

Please add feature requests and bug reports to the Github issue tracker

Security
--------

[](#security)

If you have found a security issue in this module, please email git {at} codem dot com dot au in the first instance.

License
-------

[](#license)

BSD-3-Clause

Roadmap
-------

[](#roadmap)

- File removal support in Uppy
- Grouped uploads
- Possible usage of the `filepond` library as an alternative frontend implementation

Thanks
------

[](#thanks)

Thanks for reading, here's a silly meme:

[![](./docs/screenshots/haha_fileuploads.jpg)](./docs/screenshots/haha_fileuploads.jpg)

###  Health Score

45

—

FairBetter than 92% of packages

Maintenance60

Regular maintenance activity

Popularity27

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 56.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~193 days

Recently: every ~176 days

Total

13

Last Release

488d ago

Major Versions

v0.5.0-rc1 → v1.0.0-rc12025-01-09

PHP version history (3 changes)v0.3PHP ^7.1

v0.4.0-rc1PHP ^7.4 || ^8.0

v1.0.0-rc1PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/a2d750925f6ceec945734b91d36484bb4e6b026039771d9d9651e3c9fb79fa1c?d=identicon)[codemau](/maintainers/codemau)

---

Top Contributors

[![MrJamesEllis](https://avatars.githubusercontent.com/u/603960?v=4)](https://github.com/MrJamesEllis "MrJamesEllis (145 commits)")[![JamesDPC](https://avatars.githubusercontent.com/u/69664712?v=4)](https://github.com/JamesDPC "JamesDPC (101 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (12 commits)")

---

Tags

uploaduppyuserformsHTML5silverstripefile-uploaduppyuploadsuploader

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/codem-silverstripe-damn-fine-uploader/health.svg)

```
[![Health](https://phpackages.com/badges/codem-silverstripe-damn-fine-uploader/health.svg)](https://phpackages.com/packages/codem-silverstripe-damn-fine-uploader)
```

###  Alternatives

[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)[spatie/livewire-filepond

Upload files using Filepond in Livewire components

306452.7k3](/packages/spatie-livewire-filepond)[unclecheese/dropzone

An HTML5 upload field for the CMS and frontend forms.

46130.7k6](/packages/unclecheese-dropzone)[bummzack/sortablefile

An extension for SilverStripe that adds sorting to UploadField.

70622.7k55](/packages/bummzack-sortablefile)[axllent/silverstripe-scaled-uploads

Automatically scale down and rotate uploaded images for Silverstripe

2580.3k8](/packages/axllent-silverstripe-scaled-uploads)[enyo/dropzone

Handles drag and drop of files for you.

101.9M31](/packages/enyo-dropzone)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
