jfd
js-file-downloader-temp
npm i js-file-downloader-temp
jfd

js-file-downloader-temp

🚀 A small JS no-dependency library for a cool download experience

by AleeeKoi

1.1.8 (see all)License:MITTypeScript:Not Found
npm i js-file-downloader-temp
Readme

TEMPORARY: Just to use a fix before pull request #4 merges

AP Logo


JS File Downloader

Version License

Introduction

JS File Downloader is a simple no dependency library you will be able to download file from browser and show downloading status.

Browser Compatibility

JS File Downloader supports all browsers that are [ES5-compliant] (http://kangax.github.io/compat-table/es5/) (IE8 and below are not supported).


Installing with package manager

With a package manager (recomanded):

npm install js-file-downloader --save 

Basic usage


import Downloader from 'js-file-downloader';

const fileUrl = 'http://...';

new Downloader({ 
    url: fileUrl
  })
  .then(function () {
    // Called when download ended
  })
  .catch(function (error) {
    // Called when an error occurred
  });
  

Use without a package manager

Download this library from https://github.com/AleeeKoi/js-file-downloader/releases

<script src="/path/to/js-file-downloader.min.js"></script>
<script>
  // Then somewhere in your code
  new jsFileDownloader({ url: 'http://alessandropellizzari.it/assets/img/og-image.jpg' })
    .then(function () {
      // Called when download ended
    })
    .catch(function (error) {
      // Called when an error occurred
    });
</script>

Options:

process (for checking download status)

A function to call every time a process event is called. Function receive an Event Object as input.


function process (event) {
  if (!event.lengthComputable) return; // guard
  var downloadingPercentage = Math.floor(event.loaded / event.total * 100);
  // what to do ...
};

new Downloader({ 
  url: '...',
  process: process
})
  

headers (of request)

If you need to customize request header data you can pass an array of objects like following example:

new Downloader({ 
  url: '...',
  headers: [
    { name: 'Authorization', value: 'Bearer ABC123...' }
  ]
})

filename

Setting this String you can force output file name

mobileDisabled

Boolean value (default false) to enable/disable library on mobile browsers.

timeout (ms)

Integer value (default 40000) defining how much ms attend before stop download action.

autoStart

Boolean value (default true) to enable/disable automatically starting the download. When the value is true the constructor returns a Promise, however when it's set to false, the constructor doesn't return anything and the download can be started by calling the start() method on the object.

Example with autoStart set to true

new Downloader({ 
  url: '...',
  autoStart: true
})

Example with autoStart set to false

const download = new Downloader({ 
  url: '...',
  autoStart: false
});

download.start()
  .then(function(){
      // success 
  })
  .catch(function(error){
      // handle errors
  });

forceDesktopMode

Boolean value (default false) to force desktop mode even on mobile devices for downloading files.

new Downloader({ 
  url: '...',
  forceDesktopMode: true
})

License

MIT

Copyright (c) 2019-present, Alessandro Pellizzari

alessandropellizzari.it

Wigi Solutions

Downloads/wk

4

GitHub Stars

129

LAST COMMIT

10mos ago

MAINTAINERS

1

CONTRIBUTORS

14

OPEN ISSUES

0

OPEN PRs

0
VersionTagPublished
1.1.8
latest
2yrs ago
No alternatives found
No tutorials found
Add a tutorial

Rate & Review

100
No reviews found
Be the first to rate