Title: Forms: 3rd-Party File Attachments
Author: zaus
Published: <strong>November 3, 2015</strong>
Last modified: October 10, 2018

---

Search plugins

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://s.w.org/plugins/geopattern-icon/forms-3rdparty-files.svg)

# Forms: 3rd-Party File Attachments

 By [zaus](https://profiles.wordpress.org/zaus/)

[Download](https://downloads.wordpress.org/plugin/forms-3rdparty-files.zip)

 * [Details](https://scn.wordpress.org/plugins/forms-3rdparty-files/#description)
 * [Reviews](https://scn.wordpress.org/plugins/forms-3rdparty-files/#reviews)
 *  [Installation](https://scn.wordpress.org/plugins/forms-3rdparty-files/#installation)
 * [Development](https://scn.wordpress.org/plugins/forms-3rdparty-files/#developers)

 [Support](https://wordpress.org/support/plugin/forms-3rdparty-files/)

## Description

Exposes file upload/attachments to the regular service mapping of [Forms 3rdparty Integration](https://wordpress.org/plugins/forms-3rdparty-integration/).

From discussion at https://github.com/zaus/forms-3rdparty-integration/issues/40.

## Installation

 1. Unzip, upload plugin folder to your plugins directory (`/wp-content/plugins/`)
 2. Make sure [Forms 3rdparty Integration](https://wordpress.org/plugins/forms-3rdparty-integration/)
    is installed and settings have been saved at least once.
 3. Activate plugin
 4. Choose how the files will be attached — either:
 5.  * as server path
     * as url
     * as base64-encoded bytes
     * as raw contents
 6. Map to the desired file detail, where _“[field]”_ is the corresponding input field
    name as you would normally map:
 7.  * `[field]` — the filename
     * `[field]_attach` — the transformed attachment from the previous step
     * `[field]_mime` — the file’s actual mime-type
     * `[field]_size` — the file size

## FAQ

  How do I perform the appropriate transforms in custom hooks

Using `F3i_Files_Base::Transform($value, $how)` where `$how` is:
 * `path` * `url`*`
base64` * `raw`

  Gravity Forms input ids cause conflicts

Use the ‘label’ option to instead reference file uploads via the field label. You
can also set the Advanced > Admin Field Label to use a shorter/non-display label
than what users see on the form.

ex) If your upload field `input_5` has a very long label “Choose one or more files
blah blah blah” you would reference details like `Choose one or more files blah 
blah blah_attach` unless you set an admin label like “FileUpload”, in which case
you’d map to `FileUpload_attach`. You can also use this to attach to different upload
fields across forms — normally they might not be able to share the input_id, but
if you give them the same admin field label then you only need to map the service
once to that admin label.

  This only works for GF or CF7, what about Ninja Forms or some other form plugin?

Message the author about adding it, or:
 1. extend `F3i_Files_Base` and declare 
a method `get_files` that returns an array of (input_field => filepath) 2. hook 
to `F3i_Files_Base_register` and declare a new instance of your class

_(A note about Ninja Forms — file uploads are a paid addon, and the author doesn’t
have a copy, so adding it wasn’t on the roadmap)_

  It doesn’t work right…

Drop an issue at https://github.com/zaus/forms-3rdparty-files

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Forms: 3rd-Party File Attachments” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ zaus ](https://profiles.wordpress.org/zaus/)

[Translate “Forms: 3rd-Party File Attachments” into your language.](https://translate.wordpress.org/projects/wp-plugins/forms-3rdparty-files)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/forms-3rdparty-files/),
check out the [SVN repository](https://plugins.svn.wordpress.org/forms-3rdparty-files/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/forms-3rdparty-files/)
by [RSS](https://plugins.trac.wordpress.org/log/forms-3rdparty-files/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.5.2

 * added special GF option to use field labels
 * some under-the-hood refactoring for clarity, reuse

#### 0.5

 * refactored support for GF single and multifile fields
 * fix: collapsing ui

#### 0.4.1

 * fix #2 — GF validation errors removes filename, fallback to path basename

#### 0.4

 * including `$form` in `_get_files` hook
 * consolidating byte handling between ‘raw’ and ‘base64’
 * no longer throws an exception if unable to get file, instead returns an error
   array
 * fixed for GF 2.0.7.2 temp path issue #1
 * new filter: `_get_path` used for GF bug

#### 0.3

 * refactored inheritance, ‘better’ form registration, include ninja forms

#### 0.2

 * added “meta” details
 * breaking change – removed overwrite setting as unnecessary (due to compatible
   formatting)
 * works with GF and CF7

#### 0.1

IT HAS BEGUN

## Meta

 *  Version **0.5.2**
 *  Last updated **8 years ago**
 *  Active installations **20+**
 *  WordPress version ** 3.0 or higher **
 *  Tested up to **4.9.29**
 *  Language
 * [English (US)](https://wordpress.org/plugins/forms-3rdparty-files/)
 * Tags
 * [cf7](https://scn.wordpress.org/plugins/tags/cf7/)[contact form](https://scn.wordpress.org/plugins/tags/contact-form/)
   [contact form 7](https://scn.wordpress.org/plugins/tags/contact-form-7/)[form](https://scn.wordpress.org/plugins/tags/form/)
   [gravity forms](https://scn.wordpress.org/plugins/tags/gravity-forms/)
 *  [Advanced View](https://scn.wordpress.org/plugins/forms-3rdparty-files/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/forms-3rdparty-files/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/forms-3rdparty-files/reviews/)

## Contributors

 *   [ zaus ](https://profiles.wordpress.org/zaus/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/forms-3rdparty-files/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](http://drzaus.com/donate)