2.1.1 • Published 2 years ago

@xpresser/file-uploader v2.1.1

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

Xpresser File Uploader Plugin

Alt text

Built on busboy, an easy plugin to handle file uploads from form request to your application storage folder.

Documentation: xpresserjs.com

Next

NPM: npm i @xpresser/file-uploader

YARN: yarn i @xpresser/file-uploader

This package has been converted to TypeScript.

New Features

While converting to TypeScript, we decided to chip in a few Features.

files.errorMessages()

This function returns an array of error messages when handling multiple files upload.

const photos = http.files("photos", {
  size: 0.0001 // intentional to make error.
})

if(photos.hasFilesWithErrors()){
  return photos.errorMessages() // [ 'File size is too large.']
}

Custom Error

The example below shows how the default error messages are defined. Note: This applies to both single and multi-file uploads

import { Http } from "xpresser/types/http";

export function upload(http: Http){
  return http.file("photo",  {
    size: 1,
    customErrors: {
      field: (err) =>  `field not found: ${err.field}`,
      file: (err) => `No file found for field: ${err.field}`,
      size: "File is too large", // can also be plain string.
      mimetype: (err) => `File: "${err.filename}" mimetype does not match the expected mimetype: ${err.expected}`,
      extension: (err) => `File: "${err.filename}" has unsupported file extension`
    }
  });
}

Breaking Changes

Converting to typescript came with a few breaking changes listed below

UploadedFile private properties.

The properties belonging to the UploadedFile class listed below have been made private using typescript. They are for internal error checking.

[
  "stats",
  "customErrors",
  "cachedError",
  "expectedField",
  "expectedMimetype",
  "reachedLimit",
  "expectedExtensions"
]
2.1.1

2 years ago

2.0.5

2 years ago

2.1.0

2 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.4

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.8.2

3 years ago

1.8.1

3 years ago

1.7.2

3 years ago

1.8.0

3 years ago

1.6.4

3 years ago

1.6.3

3 years ago

1.7.1

3 years ago

1.7.0

3 years ago

1.6.2

3 years ago

1.6.1

3 years ago

1.6.0

3 years ago

1.5.0

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.4.0

3 years ago

1.3.0

3 years ago

1.0.0

3 years ago

0.1.18

3 years ago

0.1.17

4 years ago

0.1.16

4 years ago

0.1.15

4 years ago

0.1.14

4 years ago

0.1.11

4 years ago

0.1.12

4 years ago

0.1.10

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago