2013-08-22 82 views
0

我需要使用winform将我的程序从我的计算机传输到中央服务器的图像文件。但是,我从来没有做过这样的事情。我被告知最简单的方法是通过TCP发送我的图像。通过网络将图像传输到中央服务器

有人请指出我如何做到这一点的正确方向?

+0

只需从该计算机共享一个文件夹并开始从计算机传输这些图像 –

+0

创建一个网络驱动器到另一台计算机,然后保存为你可以保存到你的C: –

+0

或者在其他机器上设置ftp并通过ftp来跨越http://stackoverflow.com/questions/10151680/upload-file-on-ftp –

回答

0

我认为最好的地方开始,如果你想在C#中使用TCP的here

至于发送图像,你可以打开它,阅读它,你可以直接通过中所示的TCP连接发送的字节上面的链接。 Here是关于文件方法的文档。

这应该足以让你开始。

1

您有多个选项,其中一些选项在您的评论中提及。哪个选项是正确的,你在很大程度上取决于其他问题(文件的安全性,传输的安全性等)

您可以通过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

还是最复杂d,但仍是一个选项,请使用WCF服务并以此方式发送:http://stefanoricciardi.com/2009/08/28/file-transfer-with-wcp/