https://github.com/mdwahiduzzamanemon/filedownloader--js
This is an open source Javascript File downloader. This can be useable for any javascript frameworks.
https://github.com/mdwahiduzzamanemon/filedownloader--js
filedownloader framework javascript npm-package
Last synced: 6 months ago
JSON representation
This is an open source Javascript File downloader. This can be useable for any javascript frameworks.
- Host: GitHub
- URL: https://github.com/mdwahiduzzamanemon/filedownloader--js
- Owner: MdWahiduzzamanEmon
- License: mit
- Created: 2023-03-10T16:26:30.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-11T04:22:37.000Z (about 3 years ago)
- Last Synced: 2025-02-17T20:21:20.083Z (about 1 year ago)
- Topics: filedownloader, framework, javascript, npm-package
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/js-file_downloader--emon
- Size: 23.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JavaScript File Downloader
JavaScript File Downloader is an open-source library that allows you to download files from a given URL in JavaScript. This library can be used with any JavaScript framework.
## Getting Started
### Prerequisites
- A web browser that supports ECMAScript 6 (ES6)
## Installation
To use JavaScript File Downloader in your project, you can download the jsFileDownloader.js file and include it in your project. Alternatively, you can install it using npm:
```bash
npm i js-file_downloader--emon --save
```
```bash
yarn add js-file_downloader--emon
```
## Importing
```
import jsFileDownloader from "js-file_downloader--emon";
```
## How to use it in your project
#### use this function in click event or any event
```javascript
jsFileDownloader(url, fileName);
```
### if you want to see the progress of the download, you can pass a function as the third parameter
```javascript
jsFileDownloader(url, fileName, (progress) => {
console.log(progress);
});
```
### if you want to use it with async/await
```javascript
try {
const response = await jsFileDownloader(url, name, (progress) => {
console.log(progress);
});
console.log(response);
} catch (error) {
console.log(error);
}
```
### if you want to use it with promise
```javascript
jsFileDownloader(url, name, (progress) => {
console.log(progress);
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.log(error);
});
```
## Parameters
| Parameter | Type | Description |
| --------- | ---------------- | --------------------------------------------------------- |
| url\* | string(required) | The URL of the file to be downloaded |
| fileName | string | The name with which the downloaded file will be saved |
| progress | function | A function that will be called with the download progress |
## Functionality
- Tries to download a file from the given URL
- Checks if the url contains "http://" and replaces it with "https://"
- Initializes the necessary variables and arrays
- Reads the response body in chunks
- Calculates the download progress and calls the progress function with the progress value
- Combines the chunks and creates a blob URL
- Creates a link element, assigns the blob URL and file name, and clicks on it to download the file
- Revokes the blob URL
## Returns
- If successful, returns the downloaded file
- If an error occurs, returns the error message.
## Response
| Status | Description |
| ------ | -------------------------------- |
| 200 | OK |
| 400 | URL is required/URL is not valid |
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
## Author
-
[Md Wahiduzzaman Emon]
## Contributing
- Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
* Please make sure to update tests as appropriate.