如何将文件上传到远程服务器上的特定文件夹 multer-ftp?
How to upload files to specific folder multer-ftp on remote server?
我尝试使用此代码在远程服务器上发送文件:
var upload = multer({
storage: new ftpStorage({
basepath: '/uploads/',
ftp: {
host: 'samplehost.com',
secure: false, // enables FTPS/FTP with TLS
user: 'login',
password: 'password'
}
})
});
但总是将文件保存在根目录中,而不是在上传中,我该如何解决这个问题?
而不是 multer-ftp,使用 multer-sftp 将文件上传到远程服务器是一种简单灵活的方法。我们也可以在节点js中使用scp、ssh技术将文件上传到远程服务器。
工作代码:
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
希望对您有所帮助!
我尝试使用此代码在远程服务器上发送文件:
var upload = multer({
storage: new ftpStorage({
basepath: '/uploads/',
ftp: {
host: 'samplehost.com',
secure: false, // enables FTPS/FTP with TLS
user: 'login',
password: 'password'
}
})
});
但总是将文件保存在根目录中,而不是在上传中,我该如何解决这个问题?
而不是 multer-ftp,使用 multer-sftp 将文件上传到远程服务器是一种简单灵活的方法。我们也可以在节点js中使用scp、ssh技术将文件上传到远程服务器。
工作代码:
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
希望对您有所帮助!