- 首页 > it技术 > >
玩了一把nodejs|玩了一把nodejs 批量下载保存远程图片文件 并更新数据库
var request = require('request');
var fs = require('fs');
var mysql = require('mysql');
var mydb = mysql.createConnection({
host: 'localhost',
//port: 3306,
user: 'root',
password: 'root',
//charset: 'UTF8_GENERAL_CI',
debug: false
});
mydb.connect(function(err){
if (err) {
console.error(err);
throw err;
}
});
mydb.query('USE `dbname`', function(err){
if (err) {
console.error(err);
throw err;
}
});
mydb.query("SELECT `id`,`image` FROM `fy_scenic` WHERE INSTR(`image`, 'http://') ORDER BY `image` ", function(err, rst) {
if (err) {
console.error(err);
throw err;
}
rst.forEach(function(row) {
console.log(row);
var filepath = 'old/'+row.image.substr(36);
var filedir = filepath.substr(0,7);
if (!fs.existsSync(filedir)) {
fs.mkdirSync(filedir);
}
request(row.image).pipe(fs.createWriteStream(filepath));
var sql = "UPDATE `fy_scenic` SET `image`=? WHERE `id`=? ";
sql = mydb.format(sql, [filepath, row.id]);
console.log(sql);
mydb.query(sql, function(err, rst) {
if (err) {
console.error(err);
throw err;
}
});
});
});
推荐阅读