android 服务器 ftp上传,Android FTP服务器上传文件攻略(代码详解)

1.前言

在开发中,会遇到向FTP服务器上传文件的需求,首先要导入

commons-net-3.3.jar 然后利用api进行相关操作,具体功能如下:

Ftp相关代码

import android.util.Log;

import org.apache.commons.net.ftp.FTP;

import org.apache.commons.net.ftp.FTPClient;

import org.apache.commons.net.ftp.FTPReply;

import java.io.FileInputStream;

public class FTPClientUtils {

private static final String TAG = "MainActivity";

private FTPClient ftpClient = null; // FTP客户端

/**

* 连接到FTP服务器

*

* @param host ftp服务器域名

* @param username 访问用户名

* @param password 访问密码

* @param port 端口

* @return 是否连接成功

*/

public boolean ftpConnect(String host, String username, String password, int port) {

try {

ftpClient = new FTPClient();

ftpClient.connect(host,port);

// 根据返回的状态码,判断链接是否建立成功

if (FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {

boolean status = ftpClient.login(username, password);

/*

* 设置文件传输模式

* 避免一些可能会出现的问题,在这里必须要设定文件的传输格式。

* 在这里我们使用BINARY_FILE_TYPE来传输文本、图像和压缩文件。

*/

ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

ftpClient.enterLocalPassiveMode();

return status;

}

} catch (Exception e) {

e.printStackTrace();

}

return false;

}

/**

* 断开ftp服务器连接

*

* @return 断开结果

*/

public boolean ftpDisconnect() {

// 判断空指针

if (ftpClient == null) {

return true;

}

// 断开ftp服务器连接

try {

ftpClient.logout();

ftpClient.disconnect();

return true;

} catch (Exception e) {

e.printStackTrace();

}

return false;

}

/**

* ftp 文件上传

*

* @param srcFilePath 源文件目录

* @param desFileName 文件名称

* @return 文件上传结果

*/

public boolean ftpUpload(String srcFilePath, String desFileName) {

boolean status = false;

try {

FileInputStream srcFileStream = new FileInputStream(srcFilePath);

status = ftpClient.storeFile(desFileName, srcFileStream);

srcFileStream.close();

return status;

} catch (Exception e) {

e.printStackTrace();

}

return status;

}

/**

* ftp 更改目录

*

* @param path 更改的路径

* @return 更改是否成功

*/

public boolean ftpChangePath(String path) {

boolean status = false;

try {

status = ftpClient.changeWorkingDirectory(path);

} catch (Exception e) {

e.printStackTrace();

}

return status;

}

}

2.调用api

boolean isConnect = mFtpClient.ftpConnect("服务器host", "用户名", "密码", 21);//默认端口号是21

if (isConnect) {

boolean isSuccessful = mFtpClient.ftpUpload("/sdcard/" + folderName + "/" + mPicturename, "/htdocs/pics/" + mPicturename);

if (isSuccessful) {

mFtpClient.ftpDisconnect();

//上传成功

} else {

//上传失败

}

} else {

//服务器连接失败

}

总结

到此这篇关于Android FTP服务器上传文件攻略的文章就介绍到这了,更多相关Android FTP服务器上传内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2020-06-12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值