0

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

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

4

2 回答 2

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/

于 2013-08-22T13:11:29.543 回答
0

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

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

这应该足以让你开始。

于 2013-08-22T13:08:41.383 回答