Скопируйте файл с рабочего стола на сервер - PullRequest
0 голосов
/ 17 ноября 2010

Я занимаюсь этой проблемой. Мне нужно прикрепить файлы со своего рабочего стола и сохранить их копию на сервере, а URL-адрес местоположения файла должен храниться в базе данных. Можно ли это сделать с помощью C #? подскажите пожалуйста как это сделать.

Спасибо

Ответы [ 4 ]

2 голосов
/ 17 ноября 2010

Вам понадобится веб-служба (WCF / ASMX) на сервере, где должны храниться файлы; в виде void StoreFile(byte[] file) { /* store this file and save in db */ }.

Затем вам нужно добавить «сервисную ссылку» к этому веб-сервису в вашем приложении WPF и вызвать его с помощью Service.StoreFile(File.ReadAllBytes(@"C:\path.exe")).

0 голосов
/ 18 ноября 2010

Мне понравился ответ Яна Чонбума.

Вот еще один вариант использования доступа к файлу вместо службы WCF:

  1. Получите путь к файлу изображения, используя либо System.Win32.OpenFileDialog для диалогового окна, либо DataObject для перетаскивания.
  2. Объедините фиксированный UNC-путь к серверу (например, \\MyServer\Share\Directory) с именем файла изображения, используя Path.Combine()
  3. Позвоните File.Copy(), чтобы скопировать образ на путь сервера, который вы создали в шаге 2
  4. Сохранить путь к серверу в базе данных
0 голосов
/ 18 ноября 2010
0 голосов
/ 17 ноября 2010

Если у пользователя есть действительные учетные данные на сервере, синтаксис \\Server\share\filename может быть непосредственно использован в c #. Если необходимо установить учетные данные, вы можете указать net use или использовать WNetAddConnection2 api

...