Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Подключить ftp как сетевой диск


Автор: crazynetwork 19.7.2012, 18:05
Может кто знает. Как подключить ftp (папку на фтп сервере) как сетевой (можна виртуальный) диск, что бы он отображался в проводнике. Спасибо.

Автор: MetalFan 19.7.2012, 21:31
Эт надо на делфи чоль? серьезные запросы однако...

Автор: crazynetwork 19.7.2012, 21:57
На Delphi, я не ошибся форумом =)

Автор: crazynetwork 22.7.2012, 15:54
Ап.

Автор: TechnoMag 22.7.2012, 16:44
На сервере папка должна быть расшарена.

Код

function TForm1.AddNetConnection( NetDrive:Char; NetPath:String ):String;
var
  Err : DWORD;
begin
  // подключаем сетевой pесуpс, используя структуру TNetResource
  Err := WNetAddConnection(
    PChar(NetPath),
    '', // lpPassword, -- если нужен пароль для подключения - можно его сюда передать
    PChar(String(NetDrive+':')) //lpLocalName
    );
  case Err of
    NO_ERROR: Result := NetDrive+' успешно подключён!';
    ERROR_ACCESS_DENIED: Result := 'Нет доступа к сетевому ресурсу.';
    ERROR_ALREADY_ASSIGNED: Result := 'Устройство указанное в параметре lpLocalName уже переопределено.';
    ERROR_BAD_DEV_TYPE: Result := 'Тип устройства и тип ресурса не сочетается.';
    ERROR_BAD_DEVICE: Result := 'Значение определенное в параметре lpLocalName неверно.';
    ERROR_BAD_NET_NAME: Result := 'Значение определенное в параметре lpRemoteName неверно.';
    ERROR_BAD_PROFILE: Result := 'Профиль пользователя неправильного формата.';
    ERROR_CANNOT_OPEN_PROFILE: Result := 'Система не может открыть профиль пользователя.';
    ERROR_DEVICE_ALREADY_REMEMBERED: Result := 'Привязка для устройства указанного в параметре lpLocalName - уже в профиле пользователя.';
    ERROR_EXTENDED_ERROR: Result := 'Произошла сетевая специфическая ошибка. Для того чтобы получить информацию об ошибке, вызовите функцию WNetGetLastError.';
    ERROR_INVALID_PASSWORD: Result := 'Пароль недействителен.';
    ERROR_NO_NET_OR_BAD_PATH: Result := 'Операция не выполнена потому что сетевой компонент не запущен или имя сетевого ресурса не может быть использовано.';
    ERROR_NO_NETWORK: Result := 'Сеть отсутствует.';
  else
    Result := 'Неизвестная ошибка!';
  end;
end;


Автор: crazynetwork 22.7.2012, 20:42
А как передать логин, если папка на фтп расшарена под логином и паролем? И можно ли передать путь вида: ftp://10.10.10.10/ ?

Автор: TechnoMag 22.7.2012, 21:21
Тут наверное речь идет о пассивном режиме доступа к FTP. Такие пути передаются в браузер, а чтобы была возможность открывать как сетевой диск именно по FTP - не встречал таких случаев.

Автор: crazynetwork 22.7.2012, 22:23
Если папка на FTP расшарено по SMB протоколу, разве нельзя ее подключить в виде сетевого диска?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)