Използвайки този код се опитвам да изпращам файлове на отдалечен сървър:
var upload = multer({
storage: new ftpStorage({
basepath: "/uploads/",
ftp: {
host: "samplehost.com",
secure: false, // enables FTPS/FTP with TLS
user: "login",
password: "password"
}
})
});
но винаги запазвате файла в основната директория, а не в качванията, как мога да отстраня това?
Отговори:
0 за отговор № 1Вместо multer-ftp, качването на файлове в отдалечен сървър, използвайки multer-sftp, е лесен и гъвкав начин. също така можем да качим файловете на отдалечен сървър с scp, ssh техники в node js.
Код за работа:
exports.newFileUpload = function(req , res , next){
// sftp settings
var storage = sftpStorage({
sftp: {
host: "hostname",
port: 22,
username: "username",
password: "password"
},
destination: function (req, file, cb) {
cb(null, "images/") // designation folder in host
},
filename: function (req, file, cb) {
// file name settings
cb(null, file.fieldname + "-" + Date.now())
}
})
var upload = multer({ storage: storage }).array("file");
upload(req,res,function(err){
logger.debug(JSON.stringify(req.body));
logger.debug(JSON.stringify(req.files));
if(err){
logger.debug("Error Occured", JSON.stringify(err));
res.json({error_code:1,err_desc:err});
} else{
logger.debug("Files uploaded successfully");
res.json({error_code:0,err_desc:null});
}
});
}
Забележка: При използване на "multer-sftp" порт № 22 е отворен в отдалечен сървър.
Официална документация multer-SFTP
Надявам се, че помага!