Heim  >  Artikel  >  Web-Frontend  >  Zwei node.js-Methoden zum Herunterladen von Bildern

Zwei node.js-Methoden zum Herunterladen von Bildern

小云云
小云云Original
2018-03-03 09:03:433827Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich zwei Methoden zum Herunterladen von Bildern in node.js vor. Ich hoffe, er kann Ihnen helfen.

Der spezifische Code lautet wie folgt:

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: Schauen wir uns den Implementierungscode von nodejs an, der Remote-Bilder herunterlädt. Der spezifische Code lautet wie folgt:

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;

Verwandte Empfehlungen:

PHP-Remote-Download-Bildcode-Sharing

PHP-Download-Bild auf lokaler Serverinstanz-Sharing

Detaillierte Erläuterung des regelmäßigen PHP-Abgleichs von Remote-Bildadressen in Artikeln und des Herunterladens von Bildern auf lokale Instanzen

Das obige ist der detaillierte Inhalt vonZwei node.js-Methoden zum Herunterladen von Bildern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn