android客户端实现FTP文件(包括图片)上传应该没什么难度。写下来就了为了记录一下,望能帮到新手。
需要用到 commons-net-3.0.1.jar,后面附上jar包。
直接上代码:
/** * 通过ftp上传文件
* @param url ftp服务器地址 如: 192.168.1.110
* @param port 端口如 : 21
* @param username 登录名
* @param password 密码
* @param remotePath 上到ftp服务器的磁盘路径
* @param fileNamePath 要上传的文件路径
* @param fileName 要上传的文件名
* @return
*/ public String ftpUpload(String url, String port, String username,String password, String remotePath, String fileNamePath,String fileName) {
FTPClient ftpClient = new FTPClient();
FileInputStream fis = null ;
String returnMessage = "0" ;
try {
ftpClient.connect(url, Integer.parseInt(port));
boolean loginResult = ftpClient.login(username, password);
int returnCode = ftpClient.getReplyCode();
if (loginResult && FTPReply.isPositiveCompletion(returnCode)) { // 如果登录成功
ftpClient.makeDirectory(remotePath);
// 设置上传目录
ftpClient.changeWorkingDirectory(remotePath);
ftpClient.setBufferSize( 1024 );
ftpClient.setControlEncoding( "UTF-8" );
ftpClient.enterLocalPassiveMode();
fis = new FileInputStream(fileNamePath + fileName);
ftpClient.storeFile(fileName, fis);
returnMessage = "1" ; //上传成功
} else { // 如果登录失败
returnMessage = "0" ;
}
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException( "FTP客户端出错!" , e);
} finally {
//IOUtils.closeQuietly(fis);
try {
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException( "关闭FTP连接发生异常!" , e);
}
}
return returnMessage;
} |
jar包地址 : http://download.csdn.net/detail/baolong47/4096104
转:http://blog.csdn.net/baolong47/article/details/7301394
http://www.cnblogs.com/gzggyy/archive/2012/10/16/2725928.html