Git Product home page Git Product logo

vs-site's People

Watchers

 avatar  avatar

vs-site's Issues

Test

import fs from 'fs';
import path from 'path';
import { Client } from 'ssh2';

const localFolderPath = '/path/to/your/local/folder'; // Replace with the local folder path
const remoteFolderPath = '/path/to/your/remote/destination'; // Replace with the remote folder path
const serverConfig = {
host: 'your_server_ip', // Replace with your server's IP address or hostname
port: 22, // Default SSH port is 22
username: 'your_username', // Replace with your SSH username
password: 'your_password', // Replace with your SSH password
};

const conn = new Client();

conn.on('ready', async () => {
try {
const sftp = await conn.sftp();

const uploadDirectory = async (localPath, remotePath) => {
  const localFiles = await fs.promises.readdir(localPath);

  for (const file of localFiles) {
    const fullPath = path.join(localPath, file);
    const remoteFile = path.join(remotePath, file);

    const stats = await fs.promises.stat(fullPath);

    if (stats.isFile()) {
      const localFileStream = fs.createReadStream(fullPath);
      const remoteFileStream = sftp.createWriteStream(remoteFile);

      localFileStream.pipe(remoteFileStream);

      await new Promise((resolve) => {
        remoteFileStream.on('close', () => {
          console.log(`File transferred: ${fullPath} to ${remoteFile}`);
          resolve();
        });
      });
    } else if (stats.isDirectory()) {
      await sftp.mkdir(remoteFile);
      await uploadDirectory(fullPath, remoteFile);
    }
  }
};

await uploadDirectory(localFolderPath, remoteFolderPath);
console.log('Folder upload completed.');
conn.end();

} catch (err) {
console.error('Error:', err);
conn.end();
}
});

conn.connect(serverConfig);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.