将文件从桌面复制到服务器

时间:2010-11-17 16:16:43

标签: c# wpf wcf web-services

我正在处理这个问题。我需要从桌面附加文件并将其副本存储在服务器中,文件位置的URL应存储在数据库中。可以使用C#完成吗?请建议我怎么做。

谢谢

4 个答案:

答案 0 :(得分:2)

您需要在应存储文件的服务器上安装(WCF / ASMX)Web服务;以void StoreFile(byte[] file) { /* store this file and save in db */ }

的形式

然后,您必须在WPF应用程序中为此Web服务添加“服务引用”,并使用Service.StoreFile(File.ReadAllBytes(@"C:\path.exe"))进行调用。

答案 1 :(得分:0)

如果用户在服务器上具有有效凭据,则可以在c#中直接使用\\Server\share\filename语法。如果需要建立凭据,您可以转出net use或使用WNetAddConnection2 api

答案 2 :(得分:0)

答案 3 :(得分:0)

我喜欢Jan Jongboom的回答。

以下是使用文件访问而不是WCF服务的另一种方法:

  1. 获取图像文件的路径,使用System.Win32.OpenFileDialog作为对话框,或使用DataObject进行拖放。
  2. 使用\\MyServer\Share\Directory
  3. 将固定服务器UNC路径(例如Path.Combine())与图像文件名相结合
  4. 调用File.Copy()将映像复制到您在步骤2中构建的服务器路径
  5. 将服务器路径存储在数据库中