Cordova FileTransfer upload causes error code 3

The FileTransfer plugin doesn’t handle well a complex object passed in the params.

Passing JSON.stringify(metadata) as parameter should work:

...
var metadata = [ {a : 1}, {b : 2}, {c : 3} ];

options.params = JSON.stringify(metadata)
...

If you have problem in FileTransfer with iOS, you need to add AppTransportSecurity in XCode before you publish to allow connection with HTTP. At XCode, add some key in info.plist. The steps I followed are:

  1. Opened my Projects info.plist file
  2. Added a Key called NSAppTransportSecurity as a Dictionary.
  3. Added a Subkey called NSAllowsArbitraryLoads as Boolean and set its value to YES. Or change info.plist with code as below:
<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>yourserver.com</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
      <!--Include to allow HTTP requests-->
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <!--Include to specify minimum TLS version-->
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.1</string>
    </dict>
  </dict>
</dict>

You need to change yourserver.com with your own URL for file transfer

Reference: https://stackoverflow.com/a/33306373

if you transfert your data into a MongoDB databasis?
if yes you should try with

options.chunkedMode = true;