4.0.0 • Published 5 months ago

@tanker/file-ponyfill v4.0.0

Weekly downloads
1,203
License
Apache-2.0
Repository
github
Last release
5 months ago

A cross-browser ponyfill for File

Why

A common issue with the JavaScript File class is the lack of a constructor in some browsers:

new File(['Hi!'], 'file.txt'); // will throw in Edge and Internet Explorer

Using feature detection, this package will either expose a File ponyfill in browsers lacking a proper constructor, or the native File class in others.

Usage

You can safely use this package as a drop-in replacement for the native File class in all browsers, e.g.:

import FilePonyfill from '@tanker/file-ponyfill';

// Get bits from whatever method you want, using fetch() as an example
const response = await fetch('https://your.server.com/path/to/a/report.pdf');
const bits = [await response.arrayBuffer()];

// Construct a file in a cross-browser fashion
const file = new FilePonyfill(bits, 'report.pdf', { type: 'application/pdf' });

// Check what we've got
file instanceof window.Blob; // true
file instanceof window.File; // true
file instanceof FilePonyfill; // true
file.name; // 'report.pdf'
file.type; // 'application/pdf'
file.size; // the size of report.pdf

Note that the ponyfill is built using a clever class hierarchy so that instances will appear as regular File and Blob instances, which can safely be read by a FileReader and used with other APIs working with files.

License

Developped by Tanker, under the Apache-2.0 license.

Tanker allows seamless integration of end-to-end encryption in your application.

Read the documentation to get started.

Go to tanker.io for more informations about Tanker.

4.0.1-alpha1

5 months ago

4.0.1-alpha2

5 months ago

4.0.0

8 months ago

4.0.0-alpha1

8 months ago

4.0.0-beta1

8 months ago

3.3.2

12 months ago

3.3.2-beta1

12 months ago

3.3.1-beta1

1 year ago

3.3.1

1 year ago

3.3.0-beta2

1 year ago

3.3.0

1 year ago

3.3.0-alpha4

1 year ago

3.3.0-alpha3

1 year ago

3.3.0-beta1

1 year ago

3.3.0-alpha2

1 year ago

3.3.0-alpha1

1 year ago

3.2.0

1 year ago

3.2.0-alpha2

1 year ago

3.2.0-beta1

1 year ago

3.2.0-alpha1

1 year ago

3.1.0

1 year ago

3.1.0-alpha1

1 year ago

3.1.0-alpha2

1 year ago

3.1.0-beta1

1 year ago

3.0.0

2 years ago

3.0.0-beta1

2 years ago

3.0.0-alpha1

2 years ago

2.32.2

2 years ago

2.32.2-beta1

2 years ago

2.32.0

2 years ago

2.32.1

2 years ago

2.32.0-alpha42

2 years ago

2.32.1-beta1

2 years ago

2.32.0-beta6

2 years ago

2.32.0-beta7

2 years ago

2.32.0-beta4

2 years ago

2.32.0-beta2

2 years ago

2.32.0-alpha1

2 years ago

2.31.0-beta1

2 years ago

2.31.0

2 years ago

2.30.0

2 years ago

2.29.0-beta1

2 years ago

2.29.0

2 years ago

2.29.1

2 years ago

2.31.0-alpha1

2 years ago

2.29.1-beta1

2 years ago

2.30.0-beta3

2 years ago

2.30.0-beta2

2 years ago

2.30.0-beta1

2 years ago

2.30.0-alpha2

2 years ago

2.30.0-alpha3

2 years ago

2.30.0-alpha1

2 years ago

2.29.0-alpha1

2 years ago

2.28.0

2 years ago

2.28.0-beta1

2 years ago

2.26.0-beta1

2 years ago

2.26.0-alpha1

2 years ago

2.26.0-alpha2

2 years ago

2.27.0

2 years ago

2.26.0

2 years ago

2.27.0-beta1

2 years ago

2.27.0-alpha1

2 years ago

2.24.0-beta3

2 years ago

2.24.0-beta1

2 years ago

2.24.1-alpha0

2 years ago

2.24.1-alpha1

2 years ago

2.24.1-alpha2

2 years ago

2.24.1-alpha3

2 years ago

2.24.1-alpha4

2 years ago

2.23.2-alpha1

2 years ago

2.23.2-alpha2

2 years ago

2.23.2-alpha3

2 years ago

2.23.2-alpha4

2 years ago

2.23.2-alpha5

2 years ago

2.25.0-beta1

2 years ago

2.24.0-alpha1

2 years ago

2.25.0

2 years ago

2.25.0-alpha2

2 years ago

2.25.0-alpha3

2 years ago

2.25.0-alpha1

2 years ago

2.24.1

2 years ago

2.24.0

2 years ago

2.23.1

3 years ago

2.23.1-alpha10

3 years ago

2.23.1-beta1

3 years ago

2.23.1-alpha7

3 years ago

2.23.1-alpha8

3 years ago

2.23.1-alpha6

3 years ago

2.23.1-alpha3

3 years ago

2.23.1-alpha4

3 years ago

2.23.1-alpha1

3 years ago

2.23.1-alpha2

3 years ago

2.23.1-alpha9

3 years ago

2.23.0-beta3

3 years ago

2.23.0-beta2

3 years ago

2.23.0

3 years ago

2.23.0-alpha6

3 years ago

2.23.0-beta1

3 years ago

2.23.0-alpha5

3 years ago

2.23.0-alpha4

3 years ago

2.22.0

3 years ago

2.22.0-alpha1

3 years ago

2.21.0-beta1

3 years ago

2.21.0

3 years ago

2.21.0-alpha1

3 years ago

2.20.1-alpha1

3 years ago

2.20.0

3 years ago

2.20.0-beta1

3 years ago

2.19.1-beta1

3 years ago

2.19.1

3 years ago

2.19.0

3 years ago

2.19.0-beta1

3 years ago

2.17.2-alpha1

3 years ago

2.15.1

3 years ago

2.18.0

3 years ago

2.17.1

3 years ago

2.16.1

3 years ago

2.17.1-beta1

3 years ago

2.17.0-alpha1

3 years ago

2.17.0

3 years ago

2.16.0

3 years ago

2.16.0-beta1

3 years ago

2.15.0-beta1

3 years ago

2.15.0

3 years ago

2.15.0-alpha2

3 years ago

2.15.0-alpha3

3 years ago

2.15.0-alpha1

3 years ago

2.14.0-alpha1

3 years ago

2.14.0

3 years ago

2.14.0-beta1

3 years ago

2.14.0-alpha2

3 years ago

2.13.2-beta1

3 years ago

2.13.2-beta2

3 years ago

2.13.1-beta1

3 years ago

2.13.1

3 years ago

2.13.0-beta1

3 years ago

2.13.0

3 years ago

2.12.1-beta1

3 years ago

2.12.0-beta1

3 years ago

2.12.0

3 years ago

2.12.0-alpha2

3 years ago

2.12.0-alpha1

3 years ago

2.11.1-alpha3

3 years ago

2.11.0

3 years ago

2.11.0-beta1

3 years ago

2.11.0-alpha1

3 years ago

2.10.0

3 years ago

2.10.0-beta1

3 years ago

2.9.2-alpha3

3 years ago

2.9.2-alpha2

3 years ago

2.9.2-alpha1

3 years ago

2.9.1

3 years ago

2.9.1-beta2

3 years ago

2.9.1-alpha2

3 years ago

2.9.1-alpha1

3 years ago

2.9.0

3 years ago

2.9.0-alpha1

3 years ago

2.9.0-beta1

3 years ago

2.8.0

3 years ago

2.8.0-beta1

3 years ago

2.7.0

3 years ago

2.6.5-alpha1

3 years ago

2.6.4

3 years ago

2.6.4-beta1

3 years ago

2.6.4-beta2

3 years ago

2.6.3

3 years ago

2.6.3-beta1

3 years ago

2.6.2-beta1

3 years ago

2.6.2-beta2

3 years ago

2.6.2

3 years ago

2.6.1

4 years ago

2.6.1-beta1

4 years ago

2.6.0

4 years ago

2.6.0-beta2

4 years ago

2.6.0-beta1

4 years ago

2.5.1-alpha2

4 years ago

2.5.1-alpha1

4 years ago

2.5.0-beta1

4 years ago

2.5.0

4 years ago

2.4.0

4 years ago

2.4.0-beta1

4 years ago

2.3.1-beta1

4 years ago

2.3.1-beta2

4 years ago

2.3.1

4 years ago

2.3.0

4 years ago

2.3.0-beta1

4 years ago

2.2.7

4 years ago

2.2.7-beta1

4 years ago

2.2.6

4 years ago

2.2.6-alpha1

4 years ago

2.2.5

4 years ago

2.2.5-beta1

4 years ago

2.2.4

4 years ago

2.2.4-beta1

4 years ago

2.2.3

5 years ago

2.2.3-beta1

5 years ago

2.2.2

5 years ago

2.2.2-beta1

5 years ago

2.2.1

5 years ago

2.2.1-beta2

5 years ago

2.2.1-beta1

5 years ago

2.2.0

5 years ago

2.2.0-beta1

5 years ago

2.1.4

5 years ago

2.1.4-beta1

5 years ago

2.1.3

5 years ago

2.1.2

5 years ago

2.1.2-beta3

5 years ago

2.1.2-beta2

5 years ago

2.1.2-beta1

5 years ago

2.1.1

5 years ago

2.1.1-beta3

5 years ago

2.1.1-beta2

5 years ago

2.1.1-beta1

5 years ago

2.0.2-alpha16

5 years ago

2.0.2-alpha15

5 years ago

2.0.2-alpha14

5 years ago

2.0.2-alpha13

5 years ago

2.0.2-alpha12

5 years ago

2.0.2-alpha11

5 years ago

2.0.2-alpha10

5 years ago

2.0.2-alpha9

5 years ago

2.0.2-alpha8

5 years ago

2.0.2-alpha7

5 years ago

2.0.2-alpha5

5 years ago

2.0.2-alpha4

5 years ago

2.0.2-alpha3

5 years ago

2.0.2-alpha2

5 years ago

2.0.1

5 years ago

2.0.1-beta2

5 years ago

2.0.1-beta1

5 years ago

2.0.0

5 years ago

2.0.0-beta3

5 years ago

2.0.0-beta2

5 years ago

2.0.0-beta1

5 years ago

2.0.0-alpha15

5 years ago

2.0.0-alpha14

5 years ago

1.10.4

5 years ago

1.10.4-beta1

5 years ago

1.10.3

5 years ago

1.10.3-beta1

5 years ago

2.0.0-alpha12

5 years ago

1.10.2

5 years ago

2.0.0-alpha11

5 years ago

2.0.0-alpha9

5 years ago

2.0.0-alpha7

5 years ago

2.0.0-alpha6

5 years ago

1.10.1

5 years ago

1.10.1-beta1

5 years ago

2.0.0-alpha5

5 years ago

2.0.0-alpha3

5 years ago

1.10.0

5 years ago

1.10.0-beta3

5 years ago

1.10.0-beta2

5 years ago

1.10.0-beta1

5 years ago