VB.Net Файл.скопировать файлы.Перемещение с разными учетными данными


В идеале я хотел бы иметь возможность копировать / перемещать между доступной папкой на моем локальном диске и общим сетевым ресурсом, к которому у меня нет разрешения на доступ (но приложение будет).

Я использую олицетворение, чтобы получить доступ к файлам в общей сетевой папке, но с помощью System.IO файл.Переместить или файл.Копирование заставляет меня использовать одни и те же учетные данные для каждого местоположения. Есть ли способ обойти это?

2 2

2 ответа:

Я верю, что вы могли бы сделать что-то вроде этого.

  1. Выполните олицетворение, чтобы разрешить выбор файлов. Скопируйте файлы в папку, в которую может попасть приложение.
  2. остановите олицетворение, а затем попросите приложение скопировать файл из временного расположения в нужный конечный результат.

Мы уже делали это раньше в наших приложениях, это не элегантно, но работает отлично!

Мы сделали нечто похожее на то, что делает Митчел Селлерс, за исключением того, что у нас нет местоположения, из которого можно было бы прочитать обе личности. Мы считываем блоки данных в память, используя локальный контекст, и записываем их, выдавая себя за удаленного пользователя.