Как получить файлы / документы, которые не найдены на компьютере веб-сервера - PullRequest
0 голосов
/ 16 апреля 2010

Я пытаюсь создать функцию экспорта для пользователя, чтобы иметь возможность загружать документы в ZIP-файл. У меня есть функция, работающая, когда файлы расположены на моем локальном компьютере, и я могу использовать абсолютный путь на моем локальном компьютере. Но после разговора с командой инфраструктуры я обнаружил, что документы хранятся не на том же компьютере, что и веб-сервер, а на ферме серверов, расположенной вне сайта. Я могу запросить базу данных, которая дает мне путь к файлу. Но путь - это скорее относительный путь.

Так может кто-нибудь помочь мне понять, как использовать FileInfo для получения файлов с другого компьютера. Я полагаю, что команда инфраструктуры сказала, что есть виртуальный диск, настроенный к внешнему серверу. Могу ли я использовать виртуальный путь, как? Спасибо.

1 Ответ

0 голосов
/ 16 апреля 2010

Если файл находится в вашей локальной сети или VPN, вы можете использовать UNC-путь.

Обычно для путей UNC вы получаете доступ к файлу компьютера, используя его административный ресурс, например:

\\ имя_компьютера \ с $

* +1007 *

Вы можете использовать все обычные файловые функции для работы с путями UNC. Если вы не можете получить доступ к компьютеру из-за необходимости аутентификации, вам следует использовать Win32 API WNetUseConnection через DllImport.

[DllImport("Mpr.dll")] private static extern int WNetUseConnection(
        IntPtr hwndOwner,
        NETRESOURCE lpNetResource,
        string lpPassword,
        string lpUserID,
        int dwFlags,
        string lpAccessName,
        string lpBufferSize,
        string lpResult
    );

Если файл находится на каком-либо компьютере, отличном от вашей сети, вам придется пройти через какой-нибудь сервер, такой как FTP или HTTP, который расположен на удаленном компьютере.

...