Upload Button

A single button that uploads and reports progress inline.

"use client"

import { toast } from "sonner"

import { UploadButton } from "@/components/upload-button"

export default function UploadButtonExample() {
  return (
    <UploadButton onSuccess={(item) => toast.success(`${item.name} uploaded`)}>
      Upload file
    </UploadButton>
  )
}

Installation

npx shadcn@latest add @uploadcn/upload-button

Usage

import { UploadButton } from "@/components/upload-button"
<UploadButton
  accept="application/pdf"
  onSuccess={(item) => console.log(item.result)}
>
  Upload invoice
</UploadButton>

Props

Prop

Type

On this page