Как скачивать файлы используя multer-sftp - PullRequest
0 голосов
/ 06 марта 2019

У меня есть этот код, но в Интернете я не могу найти способ загрузить файл с удаленного сервера. Я могу загрузить файлы на удаленный сервер, но понятия не имею, как их оттуда загрузить.

var storage = sftpStorage({
  sftp: {
    host: '171.16.....',
    port: xxxx,
    username: 'username',
    password: 'xxxxxxxxxxxxxxxx'
  },
    destination: function(req, file, cb) {
       cb(null, 'uploads')
   },
    filename: function(req, file, cb) {
       cb(null, Date.now() + file.originalname)
    }
});
var upload = multer({ storage: storage })

Это маршрут для загрузки файлов: (Отлично работает!)

router.post('/upload-image', upload.single('file'), listarController.uploadImage);

Это маршрут для загрузки файлов - локально: (Поиск метода ...)

router.get('/get-file/:file', listarController.getFile);

Способ загрузки локально:

controller.getFile = (req, res) => {
    var file = req.params.file;
    var path_file = './uploads/' + file;
    fs.exists(path_file, (exists) => {
        if (exists) {
            return res.sendFile(path.resolve(path_file))
        } else {
            return res.status(200).send({
                message: "The image doesn't exist."
            })
        }
    })
}

Некоторые предложения? Заранее спасибо

1 Ответ

0 голосов
/ 07 марта 2019

Я решил это с помощью следующих библиотек: 1. multer-sftp: для загрузки файлов.2. ftp: для загрузки и переименования файлов.

...