如何使用multer-sftp下载文件

时间:2019-03-06 01:10:59

标签: javascript node.js express backend multer

我有此代码,但是在网上冲浪时,我找不到从远程服务器下载文件的方法。我可以将文件上传到远程服务器,但是我不知道如何从那里下载文件。

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 :(得分:0)

我用以下库解决了它: 1. multer-sftp:上传文件。 2. ftp:下载并重命名文件。