问题描述
目的:
利用node 的child_process.exec() 来实现对图片的下载,下载到本地。
问题:
在子进程中执行 'wget -d "https://api.tinypng.com/output/e5ptad7nmuxk0b83bcuytqhhx1qw7y95" -O D:\h5Project\tinifymini\src\q.min.png' ,出现 ‘wget’ 不是内部或外部命令。 已加好环境变量,直接在cmd.exe 里是可以执行wget的。
问题出现的环境背景及自己尝试过哪些方法
1、安装环境变量
2、利用node 的bash
3、对编码进行解析
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
var exec = child_process.exec;
var binaryEncoding = 'binary'
var iconv = require('iconv-lite');
var encoding = 'cp936'
// var cmd = 'wget -d "' + param["url"] + '" -O ' + param["newsrc"] ;
// 首先保证cmd 下支持wget 命令
var free = exec( 'wget -d "https://api.tinypng.com/output/e5ptad7nmuxk0b83bcuytqhhx1qw7y95" -O D:\\h5Project\\tinifymini\\src\\q.min.png' , { encoding: binaryEncoding },function (error, stdout, stderr) {
console.log(error)
console.log('========err=')
console.log(iconv.decode(new Buffer(stdout, binaryEncoding), encoding), iconv.decode(new Buffer(stderr, binaryEncoding), encoding));
if (error) {
param["error"](error);
} else {
param["callback"](result);
}
});
你期待的结果是什么?实际看到的错误信息又是什么?
下载图片打本地目标盘
最后不用child_process ,用request 进行压缩后的图片下载。