Tag: sftp

使用SSH.NET恢复网络连接后自动恢复SFTP下载

我正在使用SSH.NET库来创建SFTP客户端。 如果网络连接在此超时内再次可用,我需要恢复下载。 我使用下面提到的方法,如许多例子所示。 PrivateKeyFile ObjPrivateKey = new PrivateKeyFile(keyStream); PrivateKeyAuthenticationMethod ObjPrivateKeyAutentication = new PrivateKeyAuthenticationMethod(username, ObjPrivateKey); var connectionInfo = new ConnectionInfo(hostAddress, port, username, ObjPrivateKeyAutentication); try { using (var client = new SftpClient(connectionInfo)) { client.ConnectionInfo.Timeout = TimeSpan.FromSeconds(10); client.Connect(); if (!client.IsConnected) { return false; } if (!client.Exists(source)) { return false; } var fileName = Path.GetFileName(source); using (var fs = […]

使用WinSCP .NET程序集列出具有特定扩展名的文件

我正在使用WinSCP .NET程序集进行下载,并使用C#.NET通过SFTP上传。 我有下载function,但我正在寻找一种方法来列出远程服务器中的文件(或至少列出具有特定扩展名),因此用户只需要选择具有特定扩展名的文件(如.txt )获取他们想要的文件。 有没有办法用WinSCP .NET程序集来做到这一点?

使用SSH.NET将文件从Windows移动到UNIX服务器时,修改日期时间会更改

我在我的C#应用​​程序中使用SSH.NET将文件从Windows复制到UNIX服务器,我有几个场景: 在UNIX服务器目录中, 如果要复制的文件不存在 ,则将文件复制到UNIX服务器时修改的日期时间更改为复制的日期时间 ? 这是正确的,因为修改后的日期时间不应该改变吗? 在UNIX Server目录中, 如果要复制的文件已存在 ,则在复制在UNIX服务器路径中替换的同一文件时,文件的修改日期时间不会更改 ! 我对这个修改过的日期时间感到困惑,因为我在这篇文章中读过SSH.NET错误地做了,这应该是正确的吗? 对于那些要求提供代码的人,这里有: private static int UploadFileToSFTP (string localFileFullPath, string uploadPath) { try { Log.Debug(“Inside Utilities.UploadFileToSFTP() with localFileFullPath=” + localFileFullPath + “, and remoteUploadPath=” + uploadPath); Log.Debug(“Uploading File : ” + uploadPath); using (FileStream fs = new FileStream(localFileFullPath, FileMode.Open)) { Log.Debug(“Checking if path: ” + […]

SSH.NET上传整个文件夹

我在C#2015中使用SSH.NET。 通过这种方法,我可以将文件上传到我的SFTP服务器。 public void upload() { const int port = 22; const string host = “*****”; const string username = “*****”; const string password = “*****”; const string workingdirectory = “*****”; string uploadfolder = @”C:\test\file.txt”; Console.WriteLine(“Creating client and connecting”); using (var client = new SftpClient(host, port, username, password)) { client.Connect(); Console.WriteLine(“Connected to {0}”, host); client.ChangeDirectory(workingdirectory); […]

Sharpssh目录列表

我正在编写一个允许我从远程服务器上传和下载文件的应用程序。 我使用sftp作为我的传输协议,我需要将所有文件和目录列入listview。 我正在使用sharpssh进行sftp。 有人能指出我正确的方向吗? 谢谢你, Bas van Ooyen

SFTP与.NET 3.5

我需要连接到SFTP服务器以使用C#/ .NET 3.5下载和上载文件。 .NET 3.5框架是否提供任何内置工具/机制/库来连接到SFTP服务器以下载和上载文件?

FTP / FTPS / SFTP之间的区别 – 与其中任何一个的可配置连接

我需要创建一个C#应用程序,根据app.config文件中输入的设置(使用“ftp \ ftps \ sftp”)将excel文件上传到“FTP / SFTP”服务器。 我很满意这些协议,有很多疑问。 FTP和SFTP服务器有什么区别? 是否可以使用SFTP连接方法访问FTP服务器,反之亦然(指导使用Rebex库连接到SFTP)? 如何将以下FTP上传方法更改为FTPS 代码如下: string PureFileName = new FileInfo(fileName).Name; string uploadUrl = String.Format(“ftp://{0}/{1}”, ftpurl, PureFileName); FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create(uploadUrl); req.Proxy = null; req.Method = WebRequestMethods.Ftp.UploadFile; req.Credentials = new NetworkCredential(user, pass); req.UseBinary = true; req.UsePassive = true; byte[] data = File.ReadAllBytes(fileName); req.ContentLength = data.Length; Stream stream = req.GetRequestStream(); […]

使用SharpSSH从SFTP获取文件大小

我正在使用SharpSSH将本地目录中的zip文件上传到SFTP。 一切正常。 但是,我想获取刚刚上传的当前文件的文件大小。 我这样做的原因是zip文件很大(从45 GB到80 GB),我想确保在上传过程中它没有失败或卡住。 想要确保上传整个zip。 我可以像这样得到本地zip文件的文件大小: DirectoryInfo di = new DirectoryInfo(yesterdaysArchiveFolder); FileInfo[] files = di.GetFiles(); foreach (FileInfo f in files) { Console.WriteLine(“Size of the zip file: ” + f.Length); } 现在,我想对上传完成后刚刚上传到SFTP的文件做同样的事情。 因为我知道我刚刚上传的文件的名称,所以我创建了一个ArrayList并将文件放在SFTP中。 然后我使用for loop来获取刚刚上传的文件。 ArrayList FileList = oSftp.GetFileList(_ftpDirectory); int count = FileList.Count; Console.WriteLine(“Files in SFTP: ” + count); for (int i = 0; […]

SSH.NET SFTP递归获取目录和文件列表

我正在使用Renci.SshNet库通过使用SFTP递归获取文件和目录列表。 我能够连接SFTP站点,但我不知道如何在C#中递归获取目录和文件列表。 我没有找到任何有用的例子。 有人试过吗? 如果是这样,你可以发布一些关于如何递归获取这些文件和文件夹的示例代码。 谢谢, Prav

无法在C#中使用SSH.NET上传文件SFTP – 权限被拒绝

我正在尝试使用SF.NET协议使用C#使用SSH.NET库上传文件。 以下是我正在使用的代码 FileInfo f=new FileInfo(“C:\\mdu\\abcd.xml”); string uploadfile=f.FullName; Console.WriteLine(f.Name); Console.WriteLine(“uploadfile”+uploadfile); var client = new SftpClient(host, port, username, password); client.Connect(); if(client.IsConnected){ Console.WriteLine(“I AM CONNECTED”); } var fileStream = new FileStream(uploadfile, FileMode.Open); if(fileStream!=null){ Console.WriteLine(“YOU ARE NOT NULL”); } client.BufferSize = 4 * 1024; client.UploadFile(fileStream, f.Name,null); client.Disconnect(); client.Dispose(); 我能够连接,文件流filestream是NULL。 但我在尝试上传文件时收到PermissionDeniedException 。 Unhandled Exception: Renci.SshNet.Common.SftpPermissionDeniedException: Permission denied at Renci.SshNet.Sftp.SftpSession.RequestOpen(String path, […]