玩了一把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;
}
});
});
});
王道中强流
不为繁华易匠心
推荐阅读
Linux自动备份MySQL
首先找到你的MySQL配置文件my.cnf {代码...} 然后修改它, {代码...} 在[client]里增加三行: {代码...} 本来不需要这些操作,直接把用户名密码写到备份脚本里就可以,但是 MySQL 5.6 之后在命令行里写密码会出现...
王道中强流阅读 2k
「彻底弄懂」this全面解析
当一个函数被调用时,会创建一个活动记录(有时候也称为执行上下文)。这个记录会包含函数在 哪里被调用(调用栈)、函数的调用方法、传入的参数等信息。this就是记录的其中一个属性,会在 函数执行的过程中用到...
wuwhs赞 17阅读 2.1k
反编译微信小程序获取小程序前端源码wxapkg
研究反编译的原因就是我自己辛苦了半个月写的小程序,忘记备份放在桌面,心急体验Win11系统 重装系统忘记备份源码,后悔莫及。 后来网上找了反编译的教程,反编译已经上线了的小程序 于是自己尝试了一下,真的可...
TANKING赞 12阅读 9.2k评论 7
Nodejs 手动搭建 Express 项目
默认ejs模板只支持渲染以ejs为扩展名的文件,可能在使用的时候会觉得它的代码书写方式很不爽还是想用html的形式去书写。在这里可以使用engine 注册模板引擎的函数,让他处理指定后缀名的文件
yeungx赞 6阅读 8.9k评论 5
PDF 预览和下载你是怎么实现的?
在开发过程中要求对 PDF 类型的发票提供 预览 和 下载 功能,PDF 类型文件的来源又包括 H5 移动端 和 PC 端,而针对这两个不同端的处理会有些许不同,下文会有所提及。
熊的猫赞 7阅读 1.6k评论 1
HTTP,WebSocket 和 聊天室
在涉及到网络层面的相关内容时,不免会联系到 HTTP、TCP、WebSocket 等,但相信大部分人都并不是很清楚其中的一些关系和概念,特别是需要你去做语言表述时,网上有不少优秀的资料和文章,但知识仍需要自己去消化...
熊的猫赞 8阅读 1.6k
npm下载包时报错 Unexpected token '.'问题解决
1. 出现问题当通过nvm切换nodejs版本为16以上时,npm install [package]报错:Unexpected token '.'2. 问题原因该问题不是npm的问题,也不是nodejs的问题,是nvm-windows的问题。3. 解决问题nvm-windows已经更新...
风一样的六六哥赞 20阅读 8.5k评论 8
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。