使用C#在SFTP中提取ZIP文件

问题描述

我在SFTP(WinSCP)位置有一个ZIP文件

是否可以使用ACP.NET Core在相同的SFTP位置提取ZIP文件?任何帮助将不胜感激

解决方法

您不能使用SFTP协议在远程服务器上解压缩文件。那不可能无论您使用哪种语言或库。

您也不能使用客户端库来解压缩非本地文件。您将必须下载存档(保存到临时的本地文件或至少保存到内存),解压缩并将解压缩的文件上传回去。那可能不是您想要的。

最好的方法(如果您具有外壳程序访问权限)是在远程服务器上执行(使用SSH)任何可用命令 进行就地提取。
有关如何使用C#中的SSH.NET库通过SSH执行shell命令的示例,请参见:
C# send a simple SSH command

有关FTP的一个相关问题:Can we unzip file in FTP server using C#
(答案基本相同-尽管使用SFTP,但与使用FTP相比,您更有可能通过Shell访问)