Provider Plugins

The Provider plugins help you connect to your accounts with remote file providers such as Dropbox, Google Drive, Instagram and remote URLs (importing a file by pasting a direct link to it). Because this requires server-to-server communication, they work tightly with uppy-server to manage the server-to-server authorization for your account. Almost all of the communication (file download/upload) is done on the server-to-server end, so this saves you the stress and bills of data consumption on the client.

As of now, the supported providers are Dropbox, GoogleDrive, Instagram, and URL.

Usage of the Provider plugins is not that different from any other acquirer plugin, except that it takes an extra option serverUrl, which specifies the URL to the uppy-server that you are running. This allows Uppy to know what server to connect to when server-related operations are required by the provider plugin.

Here’s a quick example:

const Uppy = require('@uppy/core')
const Dashboard = require('@uppy/dashboaord')
const uppy = Uppy()
uppy.use(Dashboard, {
  trigger: '#pick-files'

// for Google Drive
const GoogleDrive = require('@uppy/google-drive')
uppy.use(GoogleDrive, {target: Dashboard, serverUrl: 'http://localhost:3020'})

// for Dropbox
const Dropbox = require('@uppy/dropbox')
uppy.use(Dropbox, {target: Dashboard, serverUrl: 'http://localhost:3020'})

// for Instagram
const Instagram = require('@uppy/instagram')
uppy.use(Instagram, {target: Dashboard, serverUrl: 'http://localhost:3020'})

// for URL
const Url = require('@uppy/url')
uppy.use(Url, {target: Dashboard, serverUrl: 'http://localhost:3020'})