详解node.js 下载图片的 2 种方式


Posted in Javascript onMarch 02, 2018

具体代码如下所示:

var request=require("request");
var fs=require("fs");
function download1(url,filename,fn){
request(url).pipe(fs.createWriteStream(filename).on("close",function(err,res){
if(err){
console.log(err);
}else{
fn&&fn();
}
}))
}
function download2(url,filename,fn){
request.get({uri:url, encoding:'binary'},function(err,res){
if(!err){
fs.writeFile(filename,res.body,"binary",function(err,res){
if(!err){
fn&&fn();
}else{
console.log(err);
}
})
}
})
}

ps:下面看下nodejs 下载远程图片的实现代码,具体代码如下所示:

var express = require('express');
var request = require('request');
var http = require('http');
var url = require('url');
var fs = require("fs");
var router = express.Router();
/* GET home page. */
router.get('/', function (req, res, next) {
  var url = "http://www.valu.cn/images/1.gif";
  //request('http://www.valu.cn/images/1.gif').pipe(fs.createWriteStream('./public/upload/downImg/logonew.png'));
  var req = http.get(url, function (res) {
    var imgData = "";
    res.setEncoding("binary"); //一定要设置response的编码为binary否则会下载下来的图片打不开
    res.on("data", function (chunk) {
      imgData += chunk;
    });
    res.on("end", function () {
      fs.writeFile("./public/upload/downImg/logonew.png", imgData, "binary", function (err) {
        if (err) {
          console.log("保存失败");
        }
        console.log("保存成功");
      });
    });
    res.on("error", function (err) {
      console.log("请求失败");
    });
  });
  req.on('error', function (err) {
    console.log("请求失败2" + err.message);
  });
  res.render('index', {title: '首页2'});
});
module.exports = router;

总结

以上所述是小编给大家介绍的node.js 下载图片的 2 种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery的$getjson调用并获取远程的JSON字符串问题
Dec 10 Javascript
onmouseover和onmouseout的一些问题思考
Aug 14 Javascript
jquery统计输入文字的个数并对其进行判断
Jan 07 Javascript
javascript 动态创建表格的2种方法总结
Mar 04 Javascript
浅谈JavaScript 的执行顺序
Aug 07 Javascript
AngularJS中的Directive自定义一个表格
Jan 25 Javascript
jQuery插件pagination实现无刷新分页
May 21 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
Jun 24 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
Sep 12 Javascript
Angular angular-file-upload文件上传的示例代码
Aug 23 Javascript
详解VUE项目中安装和使用vant组件
Apr 28 Javascript
基于Vue实现微前端的示例代码
Apr 24 Javascript
vue2.0+vue-dplayer实现hls播放的示例
Mar 02 #Javascript
详解vue2.0+vue-video-player实现hls播放全过程
Mar 02 #Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
Mar 02 #Javascript
浅谈FastClick 填坑及源码解析
Mar 02 #Javascript
利用vue和element-ui设置表格内容分页的实例
Mar 02 #Javascript
vue将时间戳转换成自定义时间格式的方法
Mar 02 #Javascript
Element-ui table中过滤条件变更表格内容的方法
Mar 02 #Javascript
You might like
一个php Mysql类 可以参考学习熟悉下
2009/06/21 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
jquery 双色表格实现代码
2009/12/08 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
Javascript基础教程之switch语句
2015/01/18 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
jQuery实现打开页面渐现效果示例
2016/07/27 Javascript
Vue.js每天必学之过渡与动画
2016/09/06 Javascript
原生JS版和jquery版实现checkbox的全选/全不选/点选/行内点选(Mr.Think)
2016/10/29 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
jQuery实现获取h1-h6标题元素值的方法
2017/03/06 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
五句话帮你轻松搞定js原型链
2020/12/09 Javascript
python实现简单socket通信的方法
2016/04/19 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
python str字符串转uuid实例
2020/03/03 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
HTML5 在canvas中绘制文本附效果图
2014/06/23 HTML / CSS
Linux面试题LINUX系统类
2015/11/25 面试题
优纳科技软件测试面试题
2012/05/15 面试题
电子商务个人自荐信
2013/12/12 职场文书
党校培训自我鉴定范文
2014/04/10 职场文书
2014年校长工作总结
2014/12/11 职场文书
二手房购房意向书
2015/05/09 职场文书
放假通知怎么写
2015/08/18 职场文书
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers