Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time

Dynamic Multi File

FormBuilder comes with a smart multi file upload type. It allows you to use different adapters/libraries like FineUploader or DropZoneJs.


  • File Upload per file type (yes, it's possible to place multiple upload fields per form)
  • Large File Support: Process chunked files to allow large file uploads
  • Different adapters: Choose between different upload handler or create a custom one!
  • Stateless: no session is required to handle file uploads
  • Different storage principals: Store data as pimcore assets (/formdata asset folder) and add download-link to mail or add them as native mail attachments
  • Stay clean: unsubmitted data / chunk data will be swiped via maintenance
  • Prebuild Extensions: Use included jQuery extensions to set up your form in front end in no time!

Field Configuration

There are some options in the (backend) field configuration:

Name Description
Max File Size Max file size will be calculated in MB. Empty or zero means no limit
Allowed Extensions Define allowed extensions, for example: pdf, zip (Format depends on active adapter)
Item limit The maximum number of files that can be uploaded. Empty or zero means no limit
Send Files as Attachment All Files will be stored in your pimcore asset structure (/formdata) by default. If you check this option, the files will be attached to the mail instead of adding a download link


Per default, FineUploader will be used. If you want to change the dmf adapter, you need to define it:

    dynamic_multi_file_adapter: FormBuilderBundle\DynamicMultiFile\Adapter\DropZoneAdapter

Front-End Setup

By default, you don't need to implement more than the standard initialization, described in FormBuilder Javascript Core Extension. The core extension will try to fetch the handler path, defined by dynamicMultiFileHandlerOptions.defaultHandlerPath.

Available Adapter