我有此代码,但是在网上冲浪时,我找不到从远程服务器下载文件的方法。我可以将文件上传到远程服务器,但是我不知道如何从那里下载文件。
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."
})
}
})
}
一些建议?预先感谢
答案 0 :(得分:0)
我用以下库解决了它: 1. multer-sftp:上传文件。 2. ftp:下载并重命名文件。