今天在下载图片的时候发现什么方法都尝试了然后一直都是无内容,
最后面我改变一下createWriteStream路径到上一层目录就可以正常写入图片,
由于我是用pm2启动的服务然后又开启了watch 所以在我往目录里面写文件的时候pm2就会检测改动,所以写入图片的的操作就会被刷新.关闭watch解决问题
附上我的代码卸载图片并根据日期创建目录
const downImageFile = async ({ media_id, appid }) => {
return new Promise(async (resolve) => {
if (fsExistsSync(imgPath)) {
let src = await writePic({ media_id, appid })
resolve(src)
} else {
fs.mkdir(imgPath, async (err) => {
if (err) return console.error(err);
let src = await writePic({ media_id, appid })
resolve(src)
})
}
})
}
const writePic = ({ media_id, appid }) => {
return new Promise(resolve => {
let imgPath = path.join(__dirname, `../public/images/${moment().format('YYYY-MM-DD')}`);
let imgUrl = `${uuidv1()}.jpeg`;
const access_token = await SaveToken({ appid });
let stream = fs.createWriteStream(`${imgPath}/${imgUrl}`);
let result = request(`https://api.weixin.qq.com/cgi-bin/media/get?access_token=${access_token}&media_id=${media_id}`);
request.get(`https://api.weixin.qq.com/cgi-bin/media/get?access_token=${access_token}&media_id=${media_id}`)
.pipe(stream)
.on('close', function () {
console.log('图片下载成功')
});
})
}
不懂的就留言吧
版权声明:本文为qq_25842063原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。