如何将文件发送到远程计算机?

时间:2010-05-05 08:53:51

标签: c# .net visual-studio visual-studio-2008

我可以通过以下代码获取文件名。如何将此文件发送到远程计算机。这个远程计算机ip:192.168.2.105我也可以使用51124端口

   class Program
    {
        static void Main(string[] args)
        {

            string[] dosyalarinYollari = System.IO.Directory.GetFiles(@"z:\20071008\1.2.392.200036.9116.2.6.1.48.1215563310.1191800303.305777\", "*.dcm", System.IO.SearchOption.AllDirectories);
            foreach (string s in dosyalarinYollari)
            {
                Console.Write(s+"\n");  // i need to send tihs s file to remote machine
            }

            Console.ReadKey();
        }
    }

2 个答案:

答案 0 :(得分:5)

这里没有足够的信息给你一个确定的答案,但我可以提一些方法。有许多方法可以在计算机之间传输文件,每种方式都有利有弊。

  • Windows文件共享。如GxG所述,如果这是一个Windows(或SMB)环境,并且您具有必要的权限,并且启用了文件共享,则可以尝试\\ipaddress\share\filename.
  • 如果远程计算机在Internet上,或文件共享不可用,则FTP等协议用于将文件上载到远程计算机,但远程计算机需要运行FTP服务器。 .Net对FTP有本机支持(自.Net 2.0起)
  • 您可以滚动自己的侦听器来侦听目标计算机上的连接,并接收二进制文件流并将其写入磁盘。
  • 如果您可以通过SSH连接到远程计算机,您可以查看进行SCP调用以上传文件
  • 如果这是具有NFS共享的环境(例如,远程计算机可能是UNIX服务器),则可以在NFS中装载并复制。

有些解决方案比其他解决方案更容易。有些需要目标机器运行服务器。有些只是Windows,只有Unix等,等等。

您能否向我们提供有关您的环境的更多信息,您需要执行此操作的原因等等。

答案 1 :(得分:1)

如果您有权登录该计算机,将一个简单的File.Copy传递给@“\ [ip] [drive] $ [folder]”就足以将其发送到远程计算机。

我不确定位置字符串。