Maison  >  Article  >  interface Web  >  Comment télécharger des images dans node.js

Comment télécharger des images dans node.js

亚连
亚连original
2018-06-02 09:25:262130parcourir

Cet article vous présente deux façons de télécharger des images dans node.js et le code d'implémentation pour télécharger des images distantes via un exemple de code. Il est très bon et a une valeur de référence. Les amis qui en ont besoin peuvent s'y référer

Le code spécifique Comme indiqué ci-dessous :

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 : Jetons un coup d'œil au code d'implémentation du téléchargement à distance de nodejs images. Le code spécifique est le suivant :

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;

Ce qui précède est ce que j'ai compilé pour vous, j'espère. cela vous sera utile à l'avenir.

Articles connexes :

Explication détaillée du chargeur de module javascript à travers des exemples de code

Implémenté par v-for via Vue How pour attribuer une valeur à l'attribut src (tutoriel détaillé)

Implémenter la méthode de chargement d'images statiques locales via v-for dans vue (tutoriel détaillé)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn