FPClient реализует загрузку файлов на указанный сервер для вашей ссылки. Конкретный контент заключается в следующем
Вызов
FileInputStream in = new FileInputStream (новый файл (fileUrl)); MoveFile ("10.3.3. **", 21, "Имя пользователя", "Пароль", Путь, имя файла, в);метод
/ **! MOVEFILE (string url, int port, string username, String Password, String Path, String FileName, InputStream Input) {Boolean Success = false; Ftpclient ftp = new ftpclient (); попробуйте {int ответить; ftp.connect (url, port); // Подключить FTP -сервер // Если используется порт по умолчанию, вы можете напрямую подключиться к FTP -серверу с помощью ftp.connect (url); ftp.login (имя пользователя, пароль); // rougin response = ftp.getReplyCode (); if (! ftpreply.ispositivecoplusion (reply)) {ftp.disconnect (); вернуть успех; } // Создать путь try {ftp.makedirectory (path); } catch (Exception e) {} ftp.EnterlocalPassiveMode (); ftp.changeworkingDirectory (path); Boolean f = ftp.StoreFile (имя файла, вход); logger.error (f); input.close (); ftp.logout (); Успех = правда; } catch (ioException e) {e.printstackTrace (); } наконец {if (ftp.isconnected ()) {try {ftp.disconnect (); } catch (ioException ioe) {}}} return успех; }Некоторые детали
FileInputStream.Avialable () Возвращает фактическое количество читаемых байтов, то есть общий размер.
Когда метод ftpclient.storefile () останавливается там, реакции нет, и есть поддельное состояние смерти.
Обходной путь: вызовите ftpclient.enterlocalpassivivemode ()
Принцип: Поскольку FTP -сервер может открывать другой порт для передачи данных каждый раз, но на Linux или других серверах, из -за ограничений безопасности, некоторые порты могут быть не включены, поэтому происходит блокировка.
Порт FTP по умолчанию составляет 21, SSH - 22, а фактический порт передачи - 20
Просмотреть указанный порт , пример 21
netstat -na | grep 21 (номер порта)
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.