FPClient mengimplementasikan mengunggah file ke server yang ditentukan untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Panggilan
FileInputStream di = FileInputStream baru (File baru (FileUrl)); moveFile ("10.3.3. **", 21, "nama pengguna", "kata sandi", path, nama file, dalam);metode
/** * Description: Upload file to the FTP server* @param url FTP server hostname * @param port FTP server port* @param username FTP login account* @param password FTP login password* @param path FTP server save directory* @param filename Upload to the FTP server* @param input Input stream* @return Return true successfully, otherwise false */ public static boolean MOVEFILE (String URL, Int Port, String Username, String Password, String Path, String FileName, InputStream Input) {Boolean Success = FALSE; FtpClient ftp = ftpclient baru (); coba {int balasan; ftp.connect (url, port); // Sambungkan server ftp // Jika port default digunakan, Anda dapat langsung terhubung ke server FTP dengan menggunakan ftp.connect (url); ftp.login (nama pengguna, kata sandi); // login balasan = ftp.getReplycode (); if (! ftpreply.ispositiveCompletion (balasan)) {ftp.disconnect (); Sukses kembali; } // Buat jalur coba {ftp.makedirectory (path); } catch (Exception e) {} ftp.enterLocalPassiveMode (); ftp.changeworkingdirectory (path); boolean f = ftp.storefile (nama file, input); Logger.Error (f); input.close (); ftp.logout (); Sukses = Benar; } catch (ioException e) {e.printstacktrace (); } akhirnya {if (ftp.isconnected ()) {coba {ftp.disconnect (); } catch (ioException ioE) {}}} return Success; }Beberapa detail
FileInputStream.available () Mengembalikan jumlah aktual byte yang dapat dibaca, yaitu ukuran total.
Ketika metode ftpclient.storefile () berhenti di sana, tidak ada reaksi, dan ada keadaan kematian palsu.
Penanganan masalah: hubungi ftpclient.enterLocalPassiveMode ()
Prinsip: Karena server FTP dapat membuka port yang berbeda untuk mengirimkan data setiap saat, tetapi di Linux atau server lain, karena pembatasan keamanan, beberapa port mungkin tidak diaktifkan, sehingga terjadi penyumbatan.
Port FTP default adalah 21, SSH adalah 22, dan port transmisi yang sebenarnya adalah 20
Lihat port yang ditentukan , Contoh 21
netstat -na | grep 21 (nomor port)
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.