通过网络将图像传输到中央服务器

时间:2013-08-22 12:55:45

标签: c# winforms tcp

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

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

2 个答案:

答案 0 :(得分: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

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

答案 1 :(得分:0)

我认为如果你想在C#中使用TCP,最好的起点是here

对于发送图像,您可以打开它并读取您可以通过上面链接中显示的TCP连接直接发送的字节。 Here是有关文件方法的文档。

这应该足以让你入门。