Skip to content

File Input

A native file input rendered as a drag-and-drop zone or compact upload control. Accept supplies a browser file-type hint; applications must validate files and size on the server.

Default Rendered example
Cover Picture
or drag and drop here
PNG, JPG, WebP - Max 5MB
Usage Example
@fileinput.FileInput(fileinput.Config{
    ID:         "coverPicture",
    Name:       "cover",
    Label:      "Cover Picture",
    Accept:     "image/*",
    HelperText: "PNG, JPG, WebP - Max 5MB",
})

Upload

AppearanceUpload uses a compact text-input-style control for dense forms.

Upload Rendered example
PDF or DOCX - Max 10MB
Upload
@fileinput.FileInput(fileinput.Config{
    Appearance: fileinput.AppearanceUpload,
    ID:         "resume",
    Name:       "resume",
    Label:      "Resume",
    Accept:     ".pdf,.docx",
    HelperText: "PDF or DOCX - Max 10MB",
})

Required

Required: true marks the field as required for form submission.

Required Rendered example
Upload Document
or drag and drop here
PDF, DOC, DOCX - Max 10MB
Required
@fileinput.FileInput(fileinput.Config{
    ID:         "document",
    Name:       "document",
    Label:      "Upload Document",
    Accept:     ".pdf,.doc,.docx",
    HelperText: "PDF, DOC, DOCX - Max 10MB",
    Required:   true,
})

Disabled

Disabled: true adds the native disabled attribute and dims the control.

Disabled Rendered example
Disabled Upload
or drag and drop here
Uploads are currently disabled
Disabled
@fileinput.FileInput(fileinput.Config{
    ID:       "disabled",
    Name:     "disabled",
    Label:    "Disabled Upload",
    Disabled: true,
})

Without Label

Omit Label for a bare drop zone (e.g. inside a labelled field group).

Without Label Rendered example
or drag and drop here
Any image or PDF - Max 5MB
Without Label
@fileinput.FileInput(fileinput.Config{
    ID:         "attachment",
    Name:       "attachment",
    Accept:     "image/*,.pdf",
    HelperText: "Any image or PDF - Max 5MB",
})

Go API

v0.2.7

The examples above cover behavior and composition. pkg.go.dev is the canonical reference for exported types, functions, methods, and Go documentation.

github.com/araihu/goshtoso/components/fileinput
Open v0.2.7 API