我需要用 puppeteer 下载图像。这里的问题是,buffer通过goto方法返回。我认为它会返回图像加载的序列。所以 writeFile 方法只获取最后一个缓冲区。是否有其他承诺方法来处理序列缓冲区?
const puppeteer = require('puppeteer-core');
const fs = require('fs').promises;
(async () => {
const options = {
product: 'chrome',
headless: true,
pipe: true,
executablePath: 'chrome.exe'
};
const browser = await puppeteer.launch(options);
const page = await browser.newPage();
const response = await page.goto('https://static.wikia.nocookie.net/naruto/images/d/dd/Naruto_Uzumaki%21%21.png/revision/latest?cb=20161013233552');
// save buffer to file
await fs.writeFile('file.jpg', await response.buffer());
browser.close();
})();
Run Code Online (Sandbox Code Playgroud) 上传成功并返回 id。并尝试将其驱动。它存在。但驱动器中不存在文件?这是什么?我尝试按 id 上传到特定文件夹。文件上传位置在哪里?
const { google } = require('googleapis');
const fs = require('fs');
const credentials = require('./credentials.json');
const scopes = [
'https://www.googleapis.com/auth/drive'
];
const auth = new google.auth.JWT(
credentials.client_email, null,
credentials.private_key, scopes
);
const drive = google.drive({ version: 'v3', auth });
(async () => {
const fileMetadata = {
name: 'naruto.jpg'
};
const media = {
mimeType: 'image/jpeg',
body: fs.createReadStream('naruto.jpg')
};
const res = await drive.files.create({
q: `'1PhND1fjEDnL63BbrLmw2V4M4B6jIfP8Q' in parents`,
resource: fileMetadata,
media: media,
fields: 'id'
});
console.log(res.data);
})();
Run Code Online (Sandbox Code Playgroud) google-api node.js google-drive-api service-accounts google-api-nodejs-client