Cloudinary

createCloudinaryAdapter uploads via Cloudinary's unsigned upload API — no backend required for public, unsigned uploads.

import { createCloudinaryAdapter } from "../components/DropUpload"

const adapter = createCloudinaryAdapter({
  cloudName: "your-cloud-name",
  uploadPreset: "your-unsigned-preset",
})

<DropUpload uploadAdapter={adapter} />

You'll need an unsigned upload preset, configured in your Cloudinary dashboard under Settings → Upload. Unsigned presets can restrict allowed formats, max size, and folder — configure limits there too, not just in allowedFormats/maxFileSize on the component.

resourceType defaults to "auto" (Cloudinary detects images vs. video vs. raw files); set it explicitly if you want to route everything to one type.