Estoy tratando de hacer una CLI que cargue solo un archivo .extension específico, por ejemplo, si quiero cargar un archivo .jpg , solo se debe cargar un archivo JPG creando una carpeta JPG
const { program } = require("commander"); const fs = require("fs"); const path = require("path"); program.version("0.0.1"); program .command("file") .alias("f") .description("Add filename with filepath") .action(() => { prompt(questions).then((answers) => { try { // compare extension const extension = path.extname(answers.fileName); const allowedExtension = ".jpg"; if (allowedExtension !== extension) { console.log("Use only .jpg Extension file"); } else { // make dir fs.mkdir(path.join(__dirname, "JPG"), { recursive: true }, (err) => { if (err) { return console.error(err); } // read file or uploaded file const file = fs.createReadStream( `${answers.filePath}/${answers.fileName}` ); console.log( "Directory created successfully!", answers.fileName, answers.filePath ); }); } } catch (error) { console.log(error.message); } }); }); program.parse(process.argv);pero no sé cómo cargar un archivo usando CLI en la carpeta provista
Subirlo usando la función writeFile:
const { program } = require("commander"); const fs = require("fs"); const path = require("path"); program.version("0.0.1"); program .command("file") .alias("f") .description("Add filename with filepath") .action(() => { prompt(questions).then((answers) => { try { // compare extension const extension = path.extname(answers.fileName); const allowedExtension = ".jpg"; if (allowedExtension !== extension) { console.log("Use only .jpg Extension file"); } else { // make dir fs.mkdir(path.join(__dirname, "JPG"), { recursive: true }, (err) => { if (err) { return console.error(err); } const file = fs.createReadStream( `${answers.filePath}/${answers.fileName}` ); fs.writeFile(`${answers.filePath}/${answers.fileName}`,file,(err) => console.log(err)) console.log( "Directory created successfully!", answers.fileName, answers.filePath ); }); } } catch (error) { console.log(error.message); } }); }); program.parse(process.argv);Nunca he usado nodeJs, por lo que esto puede funcionar o no. Debe buscar scp para la transferencia de cli entre dos fuentes, puede instalar el módulo node-scp usando npm (o eso leí)
npm i node-scpLuego, debe importarlo, definir las rutas de origen y destino y luego usarlo.
var local_folder_path = './local/dir'; var detination_folder_path = '/server/path'; send_folder_using_async_await(local_folder_path, detination_folder_path); async function send_folder_using_async_await(folder_path, destination_path) { try { const client = await scp(remote_server) await client.uploadDir(folder_path, destination_path) client.close() } catch (e) { console.log(e) } }Algo como esto.