Подскажите метод, которым можно было бы получать имена сохраняемых файлов на Node js
Имеется код бота, который сохраняет отправляемое изображение, которое потом требуется обработать с помощью tesseract.js.
Проблема в том, что функция bot.downloadFile(photoId, "./"); сохраняет файлы каждый раз с разными именем. Т.е. 'file_0.jpg, file_1.jpg' и т.д. Как это исправить, понятия не имею. Из-за этого не могу нормально дальше эти файлы прогнать через tesseract.
Код бота:
import { createRequire } from 'module'
const require = createRequire(import.meta.url);
const TelegramBot = require('node-telegram-bot-api');
const bot = new TelegramBot(token, {polling: true});
const path = require('path')
import { createWorker } from 'tesseract.js';
const fs = require("fs");
bot.on('photo', async (msg) => {
let userId = msg.from.id;
// Get the photo file_id
let photoId = (msg.photo[msg.photo.length-1].file_id);
console.log(photoId);
// Download the photo (file_id, folder path
bot.downloadFile(photoId, "./");
const worker = await createWorker({
logger: m => console.log(m)
});
(async () => {
await worker.loadLanguage('rus');
await worker.initialize('rus');
const { data: { text } } = await worker.recognize(`file.jpg`);
console.log(text);
fs.writeFileSync("ts.txt", text)
await worker.terminate();
})();
})
Источник: Stack Overflow на русском