CNode

已知图片地址怎么把图片保存在本地

问答
RResJay发布于9 年前最后回复9 年前4 回复4473 浏览0 收藏

rt

查看回复

回复 (4)

Z
zhang962976642#1·9 年前
  var fs = require('fs');
  var http = require('http');
  
  var url = 'xxx';
  var dir = 'images';
  if(!fs.existsSync(dir)){
     fs.mkdirSync(dir,(err)=>{
		if(err){
			console.log('err');
		};
	})
  };
  
  http.get(url,(response)=>{
	var statusCode = response.statusCode;
	if(statusCode !== 200){
		return false;
	};
	var img = response;
	// 管道 http中请求流 fs模块创建一个写入流 ,下载在 xxx目录下的xxx文件 ,文件夹名称以及图片格式,你可以 正则匹配/.xxx/
	img.pipe(fs.createWriteStream(dir + '/name.jpg'))
  }).on('error',(error)=>{
	console.log(error);
  })
R
ResJay#2·9 年前
引用 zhang962976642

@zhang962976642 试了 但没文件生成 不知道哪步错了

R
ResJay#3·9 年前

http.get(url,(res)=>{ var imgData=""; res.setEncoding("binary"); //设置编码 res.on("data",function(chunk){ imgData += chunk; }); res.on("end",function(){

fs.writeFile("123.jpg",imgData,"binary",function(err){
    console.log(err);
})

}) });

R
ResJay#4·9 年前
引用 zhang962976642

@zhang962976642 有了原来我是代码写错了 手打果然比不过copy

参与回复
登录后即可参与回复。登录