2017-11-10 24 views
10

Tôi đang cố gắng tải các tệp lên máy chủ từ xa bằng cách sử dụng multer-sftp trong nút js. vì tôi đang theo dõi các tài liệu chính thức npm multer-sftp. Trước đây tôi đã tải các tệp lên Amazon S3 thay vì máy chủ từ xa. bây giờ tôi muốn tải các tập tin lên máy chủ từ xa.tải tệp lên máy chủ từ xa bằng cách sử dụng mpter sftp trong js Node nhanh?

API:

exports.newFileUpload = function(req , res , next){  
    var storage = sftpStorage({ 
     sftp: { 
     host: 'http://www.port*****es.in/', 
     port: 22, 
     username: 'username', 
     password: 'password' 

     }, 
     destination: function (req, file, cb) { 
     cb(null, 'images/') 
     }, 
     filename: function (req, file, cb) { 
     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}); 

       return; 
      } else{ 
       res.json({error_code:0,err_desc:null}); 
      } 
     }); 
} 

Trong khi tải lên các tập tin, trả lại lỗi cổng

2017-11-10T02:39:48.297Z - debug: Error Occured {"code":"ENOTFOUND","errno":"ENOTFOUND", 
"syscall":"getaddrinfo","hostname":"http://www.port****es.in/","host":"http://www.port****es.in/", 
"port":22,"level":"client-socket","storageErrors":[]} 

Và cũng không có 22 mở cửa trong phạm vi của tôi. Đang chờ đề xuất, Cảm ơn bạn đã nâng cao.

+2

'máy chủ' không được có' http: // '. Cách chính xác: 'host: 'www.port ***** es.in', ' –

+0

@MukeshSharma tôi cũng đã thử điều đó, nhưng lỗi tương tự – Keerthivasan

Trả lời

7

Đối Lỗi của bạn, có hai khả năng

  1. cổng không 22 không mở cửa của nhà nước, cũng không thể truy cập thư mục đó
  2. Kiểm tra thư mục thư mục của bạn trong phạm vi

Tải lên tập tin đến máy chủ từ xa bằng cách sử dụng multer-sftp là cách dễ dàng và linh hoạt. cũng có thể tải các tệp lên máy chủ từ xa bằng các kỹ thuật scp, ssh trong nút js.

Mã làm việc:

exports.newFileUpload = function(req , res , next){  
    var storage = sftpStorage({ 
     sftp: { 
     host: 'hostname', 
     port: 22, 
     username: 'username', 
     password: 'password' 

     }, 
     destination: function (req, file, cb) { 
     cb(null, 'images/') 
     }, 
     filename: function (req, file, cb) { 
     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}); 
      } 
     }); 
} 

Lưu ý: Khi sử dụng cổng 'multer-sftp' không 22 là mở máy chủ từ xa.

Hy vọng điều đó sẽ hữu ích!

Các vấn đề liên quan