Comments (4)
Thanks! I was looking for a lightweight alternative. The size difference makes node-downloader-helper
a very good choice. It is 25 times smaller!
node-downloader-helper: 14.2 KB
https://bundlephobia.com/[email protected]
vs
download: 359.5 KB
https://bundlephobia.com/[email protected]
from download.
Didn't know about it, good to know! Thanks for the info!
from download.
This function seems to work great for me:
const fs = require('fs')
const https = require('https')
// https://futurestud.io/tutorials/node-js-how-to-download-a-file
async function downloadFile (url, targetFile) {
return await new Promise((resolve, reject) => {
https.get(url, response => {
const code = response.statusCode ?? 0
if (code >= 400) {
return reject(new Error(response.statusMessage))
}
// handle redirects
if (code > 300 && code < 400 && !!response.headers.location) {
return downloadFile(response.headers.location, targetFile)
}
// save the file to disk
const fileWriter = fs
.createWriteStream(targetFile)
.on('finish', () => {
resolve({})
})
response.pipe(fileWriter)
}).on('error', error => {
reject(error)
})
})
}
from download.
I made an alternative package with zip/tar.gz extraction https://github.com/guoyunhe/downloader
from download.
Related Issues (20)
- Trst
- add already authorization but warn a message is Error: Basic authentication must be done with the `auth` option
- Upgrade to latest version of got for better stream handling HOT 2
- Download stop - no event fired
- filename has no effect if extract is enabled HOT 1
- Option to skip downloading if the file already exists HOT 7
- Knowing when decompress finished? Use `download().on('end', () => { }) ` to judge?
- High npm vulnerability HOT 2
- Open vunerability with the decompress package and decompress-tar
- Trying to get in touch regarding a security issue
- RangeError: Invalid string length with stream
- GotError [RequestError]: connect ETIMEOUT error to donwload pdf files
- High Vulnerability: Regular Expression Denial of Service in trim-newlines
- downloaded file has extension .gi instead of .gif HOT 1
- Npm audit failure via older version of got HOT 5
- Security Vulnerability: CVE-2022-33987 - got dependency HOT 1
- support ES Module HOT 1
- Progress bar and current % of download (useful for big files) HOT 5
- Replace got with fetch? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from download.