The ActiveStorage Upload plugin handles Ruby on Rails ActiveStorage direct uploads with Uppy.
Add this line to your HEAD tag.
<%= tag.meta name: "direct-upload-url", content: rails_direct_uploads_path %>
Then use ActiveStorageUpload
as an Uppy plugin in your Javascript pack.
import Uppy from '@uppy/core'
import ActiveStorageUpload from '@gothassos/uppy-activestorage-upload'
let uppy = new Uppy(options)
uppy.use(ActiveStorageUpload, {
directUploadUrl: document.querySelector("meta[name='direct-upload-url']").getAttribute("content")
})
yarn add @gothassos/uppy-activestorage-upload
# or
npm install @gothassos/uppy-activestorage-upload --save
We recommend installing from yarn and then using a module bundler such as esbuild.