我需要让我的程序使用 winform 将图像文件从我的计算机传输到中央服务器。但是,我以前从未做过这样的事情。有人告诉我,最简单的方法是通过 TCP 发送我的图像。
有人可以指出我如何做到这一点的正确方向吗?
您有多种选择,其中一些在您的评论中提到。哪个选项适合您在很大程度上取决于其他问题(文件的安全性、传输的安全性等)
您可以通过IP/机器名称传输
File.Copy(@"\\192.0.0.10\YourFolder\YourFile.jpg", Path.combine(TemporaryLocalFolder,"YourFile.jpg"), true);
或使用该共享文件夹的授权用户模拟通过 IP/机器传输:
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
WindowsIdentity identity = new WindowsIdentity(username, password);
WindowsImpersonationContext context = identity.Impersonate();
File.Copy(@"\\192.0.0.10\YourFolder\YourFile.jpg", Path.combine(TemporaryLocalFolder, "YourFile.jpg"), true);
context.Undo();
设置 FTP 并使用它:http: //msdn.microsoft.com/en-us/library/ms229715.aspx
或者最复杂但仍然是一个选项,使用 WCF 服务并以这种方式发送:http ://stefanoricciardi.com/2009/08/28/file-transfer-with-wcp/