2.0.3 • Published 2 years ago

angular-dropzone v2.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

Avatar Mode

<dropzone-avatar [uploadAPI]="uploadApi" [avatar]="roundAvatarCropper"></dropzone-avatar>

image

Avatar

Advanced Mode

<dropzone-advanced [uploadAPI]="uploadApi"></dropzone-advanced>

Built With

Installation

  1. Install the package

    • npm
      npm install angular-dropzone

    or

    • yarn
      yarn add angular-dropzone
  2. import Module

      import { AngularDropzoneModule } from 'angular-dropzone';
 @NgModule({
   declarations: [
     AppComponent
   ],
   imports: [
     ...
     AngularDropzoneModule   <----
   ],
   providers: [],
   bootstrap: [AppComponent]
 })
3. add your api
```typescript
// test.component.ts
uploadApi = new AngularDropzoneAPI('http://sample_url:5000/FileUpload', 'POST');
roundAvatarCropper = {
  width: 200,
  height: 200,
  round: true,
  srcImage: '', // currently uploaded Image
};
// Avatar Mode
<dropzone-avatar [uploadAPI]="uploadApi" [avatar]="roundAvatarCropper"></dropzone-avatar>
// Advanced Mode
<dropzone-advanced [uploadAPI]="uploadApi"></dropzone-advanced>

Usage

Advanced Mode

FeatureTypeDefault ValueDescription
allowedFormatsstring[][]Limit the type of input files
chunkUploadSizenumber0 (disabled)Allow to upload huge files (chunks should be handled by server)
autoUploadbooleantrueStart to upload automatically after adding files
maxFileLimitnumberunlimitedLimit the number of files
multiplebooleantrueAdd Single or Multiple files
validateFunctions({ fn: (file: DropZoneFile) => boolean, errorMessage: string })[]emptyValidation functions with custom error message.
keepInvalidFilesbooleantrueKeep invalid files and display an error message
maxFileSizenumber4000 MBLimit the size of the input file
fileSizeUnit"KB" , "MB" , "GB""MB"File size unit
concurrentUploadLimitnumber5Number of files can be uploaded concurrently
uploadAPIAngularDropzoneAPIAPI definition (URL,Headers,Method...)
(uploaded){ currentFile: DropZoneFile, allFiles: DropZoneFile[] }Event Emitter of uploaded files to parent

Avatar Mode

FeatureTypeDefault ValueDescription
allowedFormatsstring[]'MIME:Image/*'Limit the type of input files ( Append 'MIME:' If you are sending a MIME. i.e. 'MIME:Image/*'
validateFunctions({ fn: (file: DropZoneFile) => boolean, errorMessage: string })[]emptyValidation functions with custom error message.
maxFileSizenumber4000 MBLimit the size of the input file
uploadAPIAngularDropzoneAPIAPI definition (URL,Headers,Method...)
avatar{ width: number, height: number, round: boolean, srcImage?: any }{ width: 150, height: 150, round: true }Avatar size & shape. round=true => Circle mode, round=false => Square mode, srcImage => Currently Uploaded Image
(uploaded){ currentFile: DropZoneFile, allFiles: DropZoneFile[] }Event Emitter of uploaded files to parent

How to add a validation function:

const myValidateFunctions = [
 {
   fn: (item) => item.size < 100000 , // logic should be here
   errorMessage: 'File size is more than expected.' // custom error message
 },
 ...
]
<dropzone-advanced [validateFunctions]="myValidateFunctions"></dropzone-advanced>

How to add a custom message

<dropzone-advanced [uploadAPI]="uploadApi">
  <div style="color: darkgoldenrod; font-size: 12px">Max file size is 10 MB</div>
</dropzone-advanced>

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.