node将生成多个二维码并且下载到指定文件夹内
时间: 2024-03-05 12:54:08 浏览: 17
你可以使用`request`模块来下载二维码文件到指定文件夹内。以下是一个示例代码:
```javascript
const qr = require('qr-image');
const fs = require('fs');
const request = require('request');
// 指定文件夹路径
const folderPath = './qrcodes/';
// 确保文件夹存在
if (!fs.existsSync(folderPath)) {
fs.mkdirSync(folderPath);
}
// 生成多个二维码
for (let i = 0; i < 10; i++) {
const qrSvg = qr.image(`https://www.example.com/${i}`, { type: 'svg' });
const qrPng = qr.image(`https://www.example.com/${i}`, { type: 'png' });
// 保存为文件
qrSvg.pipe(fs.createWriteStream(`${folderPath}/qrcode${i}.svg`));
qrPng.pipe(fs.createWriteStream(`${folderPath}/qrcode${i}.png`));
// 下载到文件夹
request(`https://www.example.com/${i}`)
.on('error', (err) => {
console.log(err);
})
.pipe(fs.createWriteStream(`${folderPath}/qrcode${i}.jpg`));
}
```
在上面的代码中,我们首先指定了一个文件夹路径`./qrcodes/`,并使用`fs.existsSync()`方法确保该文件夹存在。接着,我们使用循环生成了10个二维码,并将它们保存为SVG和PNG格式的文件。同时,我们使用`request`模块下载了每个二维码,并将其保存为JPG格式的文件到指定的文件夹内。你可以修改循环条件和二维码内容来生成不同的二维码,并指定不同的文件夹路径。