File Upload

Drag-and-drop file upload area with click-to-browse, file list, and size validation.

InputTypeDefaultDescription
acceptstring''Accepted file types (e.g. "image/*")
multiplebooleanfalseAllow multiple files
maxSizenumber0Max file size in bytes (0 = no limit)
disabledbooleanfalseDisabled state
labelstring''Custom dropzone label
OutputTypeDescription
filesSelectedFile[]Emits when files are added or removed

Import & Usage

typescript
import { Component } from '@angular/core';
import { NgOatFileUpload } from '@letsprogram/ng-oat';

@Component({
  selector: 'app-example',
  imports: [NgOatFileUpload],
  template: `
    <ng-oat-file-upload
      accept="image/*"
      [multiple]="true"
      [maxSize]="5242880"
      (filesSelected)="onFiles($event)" />
  `,
})
export class ExampleComponent {
  onFiles(files: File[]) {
    console.log('Selected:', files);
  }
}

Basic

Click to upload or drag and drop
html
<ng-oat-file-upload (filesSelected)="onFiles($event)" />

Multiple Files with Constraints

Drop images here or click to browse
image/* ยท Max 5.0 MB
html
<ng-oat-file-upload
  accept="image/*"
  [multiple]="true"
  [maxSize]="5242880"
  label="Drop images here or click to browse"
  (filesSelected)="onFiles($event)"
/>

Disabled

Upload disabled
html
<ng-oat-file-upload [disabled]="true" label="Upload disabled" />