2017-02-13 193 views
0

我在C#中使用Renci.Net以便使用SFTP將文件上載到Unix服務器(AIX),或者更準確地說,我使用像這樣的SftpClient.UploadFile方法:Renci SSH.NET:SftpClient.UploadFile無法上傳大小超過1GB的文件

using (Stream fileStream = sftp.OpenRead(file.FullName)) 
{ 
    string remoteFileName = directory + @"/" + file.Name; 
    try 
    { 
     sftp.UploadFile(fileStream, remoteFileName, true); 
    } 
    //... 
    } 

這可以工作,只要我的文件大小爲1GB或更小。只要我上傳一個2GB的文件,這個過程就會停止在1GB的傳輸數據。它沒有碰到擋塊,它只是停下來。

這是Renci SSH.net中的一個已知問題嗎?我該如何解決它?

+2

您是否嘗試過使用「普通」sftp客戶端? (就像openssh)那麼同樣的問題呢? – fredrik

回答

0

我終於明白,這不是Renci SSH.NET的限制,而是我嘗試連接的Unix服務器的設置。

我沒有想到第一個解決方案,因爲上傳更大的文件到該服務器使用Samba工作。

顯然,可以在該服務器上爲不同的連接類型(Samba,sftp,ftp)設置不同的最大允許文件大小。與服務器管理員交談後,增加了允許的文件大小,現在使用Renci SSH.NET上傳大文件。所以在我的情況下,罪魁禍首不是Renci,而是服務器配置。

相關問題