文章目录
使用FileZilla等FTP客户端,输入云服务器IP、用户名、密码和端口,选择本地文件,点击上传即可。
Android上传文件到FTP服务器
1、添加依赖库
在项目的build.gradle文件中添加Apache Commons Net库的依赖:
dependencies { implementation 'commonsnet:commonsnet:3.8.0' }
2、创建FTPClient类
import org.apache.commons.net.ftp.FTPClient; import java.io.FileInputStream; import java.io.IOException; public class FTPClientUtil { private String host; private int port; private String username; private String password; private FTPClient ftpClient; public FTPClientUtil(String host, int port, String username, String password) { this.host = host; this.port = port; this.username = username; this.password = password; ftpClient = new FTPClient(); } public boolean connect() { try { ftpClient.connect(host, port); ftpClient.login(username, password); return true; } catch (IOException e) { e.printStackTrace(); return false; } } public boolean uploadFile(String remotePath, String localPath) { try (FileInputStream fis = new FileInputStream(localPath)) { boolean result = ftpClient.storeFile(remotePath, fis); fis.close(); return result; } catch (IOException e) { e.printStackTrace(); return false; } finally { try { if (ftpClient.isConnected()) { ftpClient.logout(); ftpClient.disconnect(); } } catch (IOException e) { e.printStackTrace(); } } } }
3、使用FTPClientUtil上传文件到FTP服务器
public class MainActivity extends AppCompatActivity { private static final String HOST = "your_ftp_server_host"; private static final int PORT = 21; // 默认FTP端口号为21 private static final String USERNAME = "your_ftp_server_username"; private static final String PASSWORD = "your_ftp_server_password"; private static final String REMOTE_PATH = "/sdcard/Download/"; // 远程服务器上的文件路径,根据实际情况修改 private static final String LOCAL_PATH = "/storage/emulated/0/test.txt"; // 本地要上传的文件路径,根据实际情况修改 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FTPClientUtil ftpClientUtil = new FTPClientUtil(HOST, PORT, USERNAME, PASSWORD); if (ftpClientUtil.connect()) { boolean result = ftpClientUtil.uploadFile(REMOTE_PATH, LOCAL_PATH); if (result) { Toast.makeText(this, "文件上传成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "文件上传失败", Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(this, "连接FTP服务器失败", Toast.LENGTH_SHORT).show(); } } }
本地Linux主机使用FTP上传文件到Linux云服务器
1、安装FTP客户端软件(如FileZilla)并配置好服务器信息,确保服务器地址、端口、用户名和密码等信息正确。