Usando este código intento enviar archivos en el servidor remoto:
var upload = multer({
storage: new ftpStorage({
basepath: "/uploads/",
ftp: {
host: "samplehost.com",
secure: false, // enables FTPS/FTP with TLS
user: "login",
password: "password"
}
})
});
pero siempre guarde el archivo en el directorio raíz, no en las subidas, ¿cómo puedo solucionarlo?
Respuestas
0 para la respuesta № 1En lugar de multer-ftp, subir archivos a un servidor remoto usando multer-sftp es una forma fácil y flexible. También podemos cargar los archivos al servidor remoto con técnicas scp, ssh en el nodo js.
Código de trabajo:
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});
}
});
}
Nota: cuando se utiliza el puerto "multer-sftp" no 22 está abierto en el servidor remoto.
Documentacion oficial multer-sftp
Espero eso ayude !