/ / ¿Cómo subir archivos a una carpeta específica multer-ftp en un servidor remoto? - node.js, express, file-upload, multer

¿Cómo subir archivos a la carpeta específica multer-ftp en el servidor remoto? - node.js, express, carga de archivos, multer

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 № 1

En 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 !