Discover, trust, install: FAIR 1.0 is here
Drag and Drop Multiple File Upload for Contact Form 7
Version: 1.3.9.1
Description
Drag and Drop Multiple File Upload is a simple, straightforward WordPress plugin extension for Contact Form 7, which allows the user to upload multiple files using the drag-and-drop feature or the common browse-file of your webform.
Drag and Drop Multiple File Upload for Contact Form 7 is an independent plugin, not affiliated with or endorsed by the developers of Contact Form 7.
Here’s a little DEMO.
Features
- File Type Validation
- File Size Validation
- Ajax Uploader
- Limit number of files Upload.
- Limit files size for each field
- Can specify custom file types or extension
- Manage Text and Error message in admin settings
- Drag & Drop or Browse File – Multiple Upload
- Support Multiple Drag and Drop in One Form.
- Able to delete uploaded file before being sent
- Send files as email attachment or as a links. (see note below)
- Support multiple languages
- Mobile Responsive
- Cool Progress Bar
- Compatible with any browser
PLUGIN GUIDE – FREE VERSION
Note: On Free version, all uploaded files moves to a temporary folder (“/wp-content/uploads/wp_dndcf7_uploads”) then attaches the file to the mail and sends it. After that “Drag & Drop File Upload” removes the file from the temporary folder 1 hour after the submission. ( same process with the default “file” upload of Contact Form 7 – See here )
To adjust or disable the auto-deletion feature, we suggest upgrading to the PRO version for more options (see below).
⭐ Premium Features ⭐
Check out the available features in the PRO version.
- Upload Large File – Supports uploading large files.
- Image Preview – Displays thumbnails for images.
- Auto Delete Files – Automatically deletes files after a set time (hours, weeks, days, months, etc)
- Zip Files – Compress uploaded files into a ZIP archive
- Save Files to Media Library – Store files in the WordPress media library.
- Change Upload Directory – Customize the default WordPress upload directory.
- Upload Folder – 📂 Choose a custom folder to store files:
✅ Contact Form 7 Fields: Use any field name
✅ Generated Date & Time: Timestamp-based folders
✅ Random Folder: Auto-generated letters & numbers
✅ By User: Requires login to store files in the user’s email or first name.
✅ Custom Folder: Manually input a folder name
✅ Dynamic Folder: User (name, id), Post (id, slug), CF7 field - Send as Attachments, Zip, or Links – Flexible file delivery options.
- Chunked Uploads – Upload large files in smaller chunks to avoid timeouts.
- Max Total Size – Set the maximum combined size for all uploaded files.
- Parallel Upload – Limit simultaneous uploads to optimize server performance.
- Custom Filename – Define custom filename patterns: ( {filename}, {cf7-field-name}, {ip_address}, {random}, {post_id}, {post_slug}, etc. )
- Color Options – Customize colors for file size, progress bar, filename, and more.
- Prevent Duplicate – Disable button to prevent duplicate submissions.
- Custom Theme – Switch between “Dark” or “Light” themes.
- Form Entries – Store form entries in WordPress admin.
- Seamless Remote Storage Integration
🔥 Supports: OneDrive, Google Drive, Amazon S3, Dropbox, FTP. - Image Size Validation – Ensure images meet required width and height.
- Image Resize – Supports image resizing (e.g., 800×800). (Standard Version Only)
- Optimize Image – Optimize images after resizing. (Standard Version Only)
- Security – Ensure security with regular updates, vulnerability scans, and threat protection.
- Optimized Code & Performance – Improve speed and efficiency.
Pro version is also compatible with:
- Contact Form 7 Add-on – Arshid
- Database for Contact Form 7- Ninja
- Advanced Contact form 7 DB – Vsourz Digital
You can get PRO Version here!
PRO VERSION – PLUGIN OVERVIEW
Other Plugins You May Like
-
Drag & Drop Multiple File Upload – WPForms
An extension for WPForms – Transform your simple file upload into beautiful “Drag & Drop Multiple File Upload”. -
Drag & Drop Multiple File Upload – WooCommerce
An extension for WooCommerce – Transform your simple file upload into beautiful “Drag & Drop Multiple File Upload”.
Donations
Would you like to support the advancement of this plugin? Donate
Installation
To install this plugin see below:
- Upload the plugin files to the
/wp-content/plugins/drag-and-drop-multiple-file-upload-contact-form-7.zip
directory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress
- Go to “Contact > Drag & Drop Upload” for the settings.
- See Tutorial
Screenshots
Faq
For any bug reports go to Support page.
To limit file size in multiple file upload
field generator under Contact Form 7, there’s a field File size limit (bytes)
.
You can also manually add limit parameter in existing [mfile] tag.
Example: [mfile upload-file-433 limit:20971520] – This limit the user to upload upto 20MB only.
Please take note it should be Bytes
you may use any converter just Google (MB to Bytes converter) default of this plugin is 5MB(5242880 Bytes).
You can limit the number of files in your file upload by adding this parameter max-file:3
to your shortcode :
Example: [mfile upload-file-344 max-file:3] – this option will limit the user to upload only 3 files.
You can add or change file types in cf7 Form-tag Generator Options by adding jpeg|png|jpg|gif
in Acceptable file types field
.
Example : [mfile upload-file-433 filetypes:jpeg|png|jpg|gif]
You can change text Drag & Drop Files Here or Browse Files
text in WordPress Admin menu under Contact
> Drag & Drop Upload
.
Some email servers have limitations on file attachment sizes (e.g., Google allows a maximum of 20-25 MB). Attaching large files to emails can be problematic. Consider using this option to display links in the email instead of attaching the files.
Go to WP Admin Contact -> Drag & Drop Upload
settings then check “Send Attachment as links?” option.
To manage mail template, go to Contact Forms edit specific form and Select Mail
tab. In Message Body
add generated code from [mfile]. ( Example Below )
Message Body : [your-message]
File Links 1 : [upload-file-754]
File Links2 : [upload-file-755]
Note : No need to add in File Attachments
field.
- In order to attach files to email you will need to check and make sure “send as file(s) as links” option is unchecked.
- Go to WordPress admin menu “Contact -> Edit {specific_form}” click or hover the cf7 form you want to edit.
- In “Edit Contact Form” page click “Mail” tab and in the bottom you will see “File attachments” field, on this field add your upload field name (ie: [upload-file-xxx]), you will find the upload name in “Form” tab generated from
[mfile]
shortcode. - If attaching multiple files from a different file upload just add all the upload fields name. (see example below)
File attachments:[upload-file-111] [upload-file-222]
Reviews
Doesn't work
By floridafarmswaps on August 4, 2025
I have followed the instructions and have tried to upload several times but nothing is uploaded but my form works ok.
Adds to Contact Form 7 what was missing
By yodastudio on February 20, 2025
Contact Form 7 is great plugin but it misses a basic function: file uploading.
Now you can have it with this nice plugin, very useful e simple to use. Free version offers enough options for basic contact forms.
Compatible with WPML plugin.
Works like a charm.
By larsactionhero on June 29, 2024
Like said in the title: works like a charm.
Then only thing is that it still uses jQuery which is absolutely not necessary in these days.
I'd love to rewrite it to vanilla javascript which seems not to be very complicated.
I can't ask for more.
By rozuja on January 8, 2024
Perfect plugin. Works a charm. Not hazzle in setting it its allmost straight foward. U can keep your uploaded PDF files. U can send them as an attachment link, just add the CF7 shortcode that add on the pannel and your good to go. Plugin tells you the upload progress and disables the send button, pus has a drag an drop function thats cool. Well done.
Outstanding support, best plugin I found
By steridhh on December 11, 2023
Outstanding support, I got answers within a few hours.
The plugin works flawlessly and the many configuration options are exceptional.
Also a user-friendly interface in the backend.
The best I have found for this purpose so far.
Great plugin and support
By gtissa on November 13, 2023
I was looking for a plugin to upload large media files, this is exactly what I was looking for. The pro version also allows you to upload remotely (ftp, google drive , Dropbox and AS3. When I ran into small issues, the support was excellent! Great plugin All of which worked. Support was excellent.
Great Plugin & Amazing Support
By antoine Rathier (antoinerathier) on September 14, 2023
If you need a great solution for uploading files into your forms this is the plugin you want.
The pro version is a one time buy at a really fair price for unlimited websites and lifetime update. And the pro support is really outstanding.
10/10
Terrific Plugin with Great Support
By Winston (pcmgwinston01) on August 27, 2023
Terrific Plugin. Wanted the ability to send files to remote storage for security, and it can do that.
There are some certain aspects that could be added though, but overall it's terrific and highly versatile to your needs
Plugin Developer is terrific too, very responsive, very nice, and helpful.
Highly recommend, especially to 100% secure your files to s3 Bucket, Google Drive, Dropbox, etc which is important for security.
Working Good!
By diEfoRyoU on April 24, 2023
Thank you very much for this good plugin.
The best file upload plugin to use with Contact Form 7
By elsdeniep on March 21, 2023
Temporarily, we needed to switch to an alternative plugin that provide file upload in Contact Form 7.
After a lot of fiddling and puzzling, none of these alternatives offer the ease of use and functionality that Drag&Drop Multiple File Upload has.
Hooked.
Changelog
1.3.9.1
- Fixed : Security issues related to cookie (Thanks to WordFence)
- Bug : Fixed or Replace crypto.randomUUID() error on non https. Support Link
1.3.9.0
- Security: Fixed security issues reported by Wordfence “Remote Code Execution via PHAR File Upload if changing the filename something like poc.phar”.
- Bug Fix: Modified script for compatibility on “conditional field for Contact Form 7”.
1.3.8.9
- Check: Verified compatibility with WordPress 6.8.
- Security: Enhanced security measures.
- Bug Fix: Fixed an issue with file deletion from PHAR archive when associated Flamingo entries are deleted.
1.3.8.8
- Fixes – Fixed Vulnerability issues reported by Phat RiO – BlueRock (via Wordfence)
- Unauthenticated Arbitrary File Deletion
- Unauthenticated PHP Object Injection via PHAR to Arbitrary File Deletion
- Added – Solution to prevent file deletion when flamingo message is deleted from the admin.
- Fixed – Cookie issues prevent from caching. Support Link
1.3.8.7
- Fixes – Header already sent issuesupport
- Fixes – Unable to delete file when “send file(s) as link” enabled. support
1.3.8.6
- Fixes – Security Updates (fixed Vulnerability issue reported by Wordfence – CVE ID:CVE-2024-12267)
- Bug Fix – Fixed bug Support Link
- Improvement – Added a random directory for each user/guest uploads to prevent file deletion across folders (related to item # 1)
1.3.8.5
- Hot fix ( Showing critical error on Php 7.3 and Up )
- Improvement – Improved I18N (Thanks to @alexclassroom)Support Link
1.3.8.4
- Added Compatibility on Contact Form 7 6.0.
- WordPress 6.7 Compatibility check.
1.3.8.3
- Bug – Fixed “send file(s) as links” option not creating year/month folder structure.
1.3.8.2
- Fixes – Show query error using Query Monitor plugin Here
- Added – JS/PHP hooks after successful upload Here
- Tweak – Move error message above files upload Here
- Fixes – Minor fixes and improvements
1.3.8.1
- Quick Fix – Unable to uncheck “Send file(s) as links” option.
1.3.8.0
- Quick fix to prevent auto-deletion if the “Don’t delete files” setting was overridden by recent updates.
1.3.7.9
- Bug – Added back the “Don’t delete files” option.
- Optimized – Optimized plugin settings by saving them as an array instead of retrieving individual settings from the wp_options table.
- Compatibility check on latest version of Contact Form 7 5.9.5.