使用 Renci ssh 上传到 SFTP 目录

本文关键字:SFTP 目录 Renci ssh 使用 | 更新日期: 2023-09-27 18:34:13

我没有收到错误,但我的文件没有上传。我正在尝试上传到 SFTP 上的目标目录。

public string TryUploads(string targetDirectory)
{ 
    string _localDirectory = LocalDirectory; //The directory in SFTP server where the files are present
    if (oSftp == null)
    {
        oSftp = Instance;
    }
    lock (thisLock)
    {
        try
        {
            oSftp.Connect();
            List<string> fileList = Directory.GetFiles(_localDirectory, "*.*").ToList<string>();
            oSftp.ChangeDirectory(targetDirectory);
            if (fileList != null && fileList.Count() > 1)
            {
                for (int i = 0; i < fileList.Count(); i++)
                {

                    string ftpFileName = Path.GetFileName(fileList[i]);
                    if (!String.IsNullOrEmpty(targetDirectory))
                        ftpFileName = String.Format("{0}/{1}", targetDirectory, ftpFileName);
                    using (var stream = new FileStream(Path.GetFileName(fileList[i]), FileMode.Create))
                    {

                        oSftp.BufferSize = 4 * 1024;
                        oSftp.UploadFile(stream, ftpFileName);
                        //   stream.Close();
                    }

                }

            }
            oSftp.Disconnect();
        }
        catch (Exception e)
        {
            throw new ApplicationException(e.Message);
        }
    }
    return Strings.StatusOk;
}

使用 Renci ssh 上传到 SFTP 目录

我解决了这个问题。我需要将获取文件的位置放在流中

using (var stream = new FileStream(LocalDirectory + "''" + Path.GetFileName(fileList[i]), FileMode.Open))

解决。上传的文件;)