HomePluginsToolsGuidesPortfolioWorkflowAboutWork with usContact
GetSet

We build and fix production web applications, and publish the UI packages and free browser tools on this site.

info@get-set.it

Explore

  • Plugins
  • Tools
  • Guides
  • Portfolio

Company

  • About
  • Workflow
  • Work with us
  • Contact

Legal

  • Terms
  • Privacy
  • Accessibility
  • Cookies

© 2026 GetSet

We're on npm

Your Bundle

Your bundle is empty

Add plugins from the catalog to build one combined CDN link — like picking font families.

Browse plugins
Media Plugin

GS Upload

File upload / dropzone with drag-drop, image previews, per-file progress, validation, auto/manual upload and list or grid layouts.

Latest: v1.0.2
Downloads last month: 32
Visit Demo Website

Install Package

npm i @get-set/gs-upload
or via CDN
<link rel="stylesheet" href="https://cdn.get-set.it/gs-upload/latest/gs-upload.min.css">
<script src="https://cdn.get-set.it/gs-upload/latest/gs-upload.min.js"></script>
Interactive Playground

Live Sandbox

Upload.jsx
1
2
3
4
5
6
7
8
9
import Upload from '@get-set/gs-upload';

export default function App() {
  return (
    <Upload>
      <div className="content">Your Upload content</div>
    </Upload>
  );
}
Live Preview

Options

Configuration Values

Reference?Reference option.
Accept?Accepted types — mime(s) and/or extension(s), comma-joined or array.
Max Size?Max size per file in bytes.
Max Files?Max number of files kept.
Min Files?Minimum number of files required before `upload()` succeeds.
Url?Endpoint URL for uploads.
Method?HTTP method. Default: 'POST'.
Field Name?Form field name each file is sent under.
Label?Big label shown inside the dropzone.
Hint?Secondary hint line under the label.
Button Text?Text of the browse link/button.
Layout?File list layout. Default: 'list'.
Size?Dropzone size preset.
Theme?Visual theme. `auto` follows prefers-color-scheme.
Accent Color?Accent color (CSS var --gsu-accent).
Class Name?Extra class name applied to the root.

Feature Flags

API Specifications

OptionTypeDefaultDescription
referencestringnoneReference.
multiplebooleantrueAllow selecting more than one file. Default: true.
acceptstring | string[]noneAccepted types — mime(s) and/or extension(s), comma-joined or array.
maxSizenumber | falsefalseMax size per file in bytes. `false`/0 disables. Default: false.
maxFilesnumber | falsefalseMax number of files kept. `false`/0 disables. Default: false.
minFilesnumber0Minimum number of files required before `upload()` succeeds. Default: 0.
dedupebooleantrueReject a file whose name+size already exists in the list. Default: true.
directorybooleanfalseAllow selecting whole directories (webkitdirectory). Default: false.
pastebooleantrueEnable paste-to-upload (Ctrl/Cmd+V of files/images). Default: true.
clickablebooleantrueEnable click-to-browse on the dropzone. Default: true.
dragDropbooleantrueEnable drag-and-drop onto the dropzone. Default: true.
autobooleantrueAuto-upload each file as soon as it is added (requires `url`). Default: true.
urlstringnoneEndpoint URL for uploads.
methodGSUploadMethod'POST'HTTP method. Default: 'POST'.
headersRecord<string, string>noneExtra request headers.
fieldNamestring'file'Form field name each file is sent under. Default: 'file'.
withCredentialsbooleanfalseSend cookies / auth with the request. Default: false.
dataRecord<string, string>noneExtra form fields sent alongside each file (multipart).
labelstringnoneBig label shown inside the dropzone.
hintstringnoneSecondary hint line under the label.
buttonTextstring'browse'Text of the browse link/button. Default: 'browse'.
previewbooleantrueShow image thumbnail previews for image files. Default: true.
progressBarbooleantrueShow a per-file progress bar. Default: true.
layoutGSUploadLayout'list'File list layout. Default: 'list'.
showListbooleantrueShow the file list at all. Default: true.
removablebooleantrueShow the per-file remove button. Default: true.
sizeGSUploadSize'md'Dropzone size preset. Default: 'md'.
disabledbooleanfalseDisable all interaction. Default: false.
reducedMotion'auto' | boolean'auto'Honor `prefers-reduced-motion`. 'auto' | true | false. Default: 'auto'.
themeGSUploadTheme'auto'Visual theme. `auto` follows prefers-color-scheme. Default: 'auto'.
accentColorstringnoneAccent color (CSS var --gsu-accent).
rtlbooleanfalseRight-to-left layout. Default: false.
classNamestringnoneExtra class name applied to the root.

Technical Features

Drag & Drop

Drop files anywhere on the zone.

Live Previews

Thumbnails for image uploads.

Per-File Progress

Individual upload progress bars.

Validation

Type, size and count constraints.

We build and maintain these packages. If you want this kind of work on your own product, we’re available.

Work with us Contact us