Node.js:download下载文件_nodejs download-程序员宅基地

技术标签: node.js  npm  javascript  

文档

安装

npm i download

定义方法

Promise download(url, destination?, options?)

url:            string    文件地址
destination:    string    文件保存目录,如果设置了该参数,就会自动保存
options:        Object    其他选项
    extract:   boolean    解压文件
    filename:  string     保存文件名

使用示例

const download = require('download');
const fs = require('fs');

let url =
  'https://s.cn.bing.net/th?id=OHR.RomanView_ZH-CN6469652448_1920x1080.jpg';

// 方式一:手动保存
(async () => {
    
  const res = await download(url);

  // 确保文件夹存在
  if (!fs.existsSync('dist')) {
    
    fs.mkdirSync('dist');
  }

  fs.writeFileSync('dist/foo.jpg', res);
})();


// 方式二:自动保存
(async () => {
    
  await download(url, 'dist');
})();

// 方式三:指定保存文件名
(async () => {
    
  await download(url, 'dist', {
    
    filename: 'foo.jpg',
  });
})();
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mouday/article/details/123507344

智能推荐

Android Material Design控件使用(二)_android 使用 material desingn ui 控件-程序员宅基地

文章浏览阅读790次,点赞3次,收藏2次。Android Material Design控件使用(二)_android 使用 material desingn ui 控件

servlet 异常处理_Servlet异常和错误处理示例教程-程序员宅基地

文章浏览阅读4.5k次,点赞3次,收藏4次。servlet异常处理Today we will look into Servlet Exception and Error Handling. Sometime back I wrote a post about Exception Handling in Java but when it comes to web application, we need more than normal ex..._servletexception

elementUI中复选框checkbox的使用_elementui checkbox-程序员宅基地

文章浏览阅读8.8k次,点赞6次,收藏8次。elementUI中复选框checkbox的使用<template> <div style="padding:20px;"> <el-card> <el-checkbox v-model="checked">备选项</el-checkbox> <div>{{ checked }}</div> </el-card> <el-card style="marg_elementui checkbox

蓝桥杯C/C++组 经验分享_蓝桥杯c语言组-程序员宅基地

文章浏览阅读2w次,点赞113次,收藏590次。蓝桥杯C/C++组 经验分享2020.2.7 , CJ ,芯科经验分享讲稿_蓝桥杯c语言组

java-net-php-python-ssm担保系统客户管理计算机毕业设计程序-程序员宅基地

文章浏览阅读81次。java-net-php-python-ssm担保系统客户管理计算机毕业设计程序。JSP教学视频点播系统的设计与实现SQLServer。ssm基于Java的废品回收管理系统的设计与实现。ssm基于SpringMVC的时鲜蔬菜配送系统。ssm基于SpringMvC的流浪狗领养系统。jsp绿色生活基于PSDW的绿色环保宣传网站。ssm基于OO的生鲜果蔬电商的设计与实现。

Redis安装部署-程序员宅基地

文章浏览阅读3.8k次。Redis安装部署下载编译*本系统环境为:CentOS_7_2009,X86_64下载源码包:https://redis.io/download上传离线压缩包或者下载到公共目录:/usr/local/redis/$ cd /usr/local/redis/ $ wget https://download.redis.io/releases/redis-6.2.6.tar.gz$ tar -zxvf redis-6.2.6.tar.gz$ ln -s redis-6.2.6 redis #创建_redis安装部署

随便推点

Openstack 从云硬盘(卷)中创建虚拟机_openstack volume create-程序员宅基地

文章浏览阅读1.8k次。Openstack 从云硬盘(卷)中创建虚拟机_openstack volume create

redis入门(三)_redis slot open-程序员宅基地

文章浏览阅读6.4k次。文章目录@[toc]redis入门(三)目录前言事务原理Lua脚本安装脚本命令EVALEVALSHAlua和redis互操作SCRIPT EXISTSSCRIPT FLUSHSCRIPT KILL脚本复制集群搭建工具redis-trib.rbredis官方集群搭建集群横向扩展故障转移redis管理参考文档redis入门(三)目录redis入门(一)redis入门(二)redis入门(三)..._redis slot open

idea生成SpringBoot项目端口号的修改_idea如何设置8080端口-程序员宅基地

文章浏览阅读2.4k次。idea生成SpringBoot项目端口号的修改第一次使用idea,在生成SpringBoot项目的时候,提示端口8080被占用,这个时候有两个办法:1、修改端口号(推荐)①如果是.yml配置文件,添加server:port:8888,格式和下图相同,需要注意的一点是,server必须和spring同列,否则无效②如果是properties文件,配置文件中添加 server.port=88..._idea如何设置8080端口

编程语言和操作系统是什么关系?编程语言如何被计算机执行的?驱动程序的理解?_操作系统和编程语言的关系-程序员宅基地

文章浏览阅读2.2k次。我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的“动态”,指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因。我们都知道,中间层是为了提供抽象转换而存在的,而这套叫做操作系统的中间层,定义了一套规则,使得后续的可执行程序能够更容易的被运行起来,而且能更容易的利用各种硬件(显示,键盘等等),能够调用一些库来消除不同的程序间重复的运行逻辑。_操作系统和编程语言的关系

ACProtect2.0脱壳-程序员宅基地

文章浏览阅读378次。这上以前加入黑手安全网上做的教程,也搬过来吧目标程序:红盟(内部版)TNT社工辅助.exe所加的壳:ACProtect 2.00 - RISCO Software Inc.首先忽略所有异常,隐藏下od脱壳步骤:1.程序附加(程序附加后会停在系统的领空)代码:7C92120F C3 RETN7C921210 8BFF MOV EDI,EDI7C921212 > CC INT3..._acprotect 教程

下垂控制实现混合储能功率分配控制,下垂电流均衡控制,母线电压补偿_蓄电池下垂控制-程序员宅基地

文章浏览阅读174次。混合储能功率分配,下垂控制,功率均衡,母线电压补偿_蓄电池下垂控制