免责声明

易百易数码科技

android上传文件到ftp服务器_本地Linux主机使用FTP上传文件到Linux云服务器

文章目录


使用FileZilla等FTP客户端,输入云服务器IP、用户名、密码和端口,选择本地文件,点击上传即可。

Android上传文件到FTP服务器

1、添加依赖库

在项目的build.gradle文件中添加Apache Commons Net库的依赖:

android上传文件到ftp服务器_本地Linux主机使用FTP上传文件到Linux云服务器-图1
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)并配置好服务器信息,确保服务器地址、端口、用户名和密码等信息正确。

android上传文件到ftp服务器_本地Linux主机使用FTP上传文件到Linux云服务器-图2
分享:
扫描分享到社交APP
上一篇
下一篇