Android开发教程之FTP文件上传


Android客户端实现FTP文件(包括图片)上传应该没什么难度。写下来就了为了记录一下,望能帮到新手。

需要用到 commons-net-3.0.1.jar,附上jar包。

免费下载地址在 http://linux.bkjia.com/

用户名与密码都是www.bkjia.com

具体下载目录在 /2012年资料/2月/29日/Android开发教程之FTP文件上传/

 

直接上代码:

  1. /** 
  2.  * 通过ftp上传文件 
  3.  * @param url ftp服务器地址 如: 192.168.1.110 
  4.  * @param port 端口如 : 21 
  5.  * @param username  登录名 
  6.  * @param password   密码 
  7.  * @param remotePath  上到ftp服务器的磁盘路径 
  8.  * @param fileNamePath  要上传的文件路径 
  9.  * @param fileName      要上传的文件名 
  10.  * @return 
  11.  */  
  12. public String ftpUpload(String url, String port, String username,String password, String remotePath, String fileNamePath,String fileName) {  
  13.  FTPClient ftpClient = new FTPClient();  
  14.  FileInputStream fis = null;  
  15.  String returnMessage = "0";  
  16.  try {  
  17.      ftpClient.connect(url, Integer.parseInt(port));  
  18.      boolean loginResult = ftpClient.login(username, password);  
  19.      int returnCode = ftpClient.getReplyCode();  
  20.      if (loginResult && FTPReply.isPositiveCompletion(returnCode)) {// 如果登录成功   
  21.          ftpClient.makeDirectory(remotePath);  
  22.          // 设置上传目录   
  23.          ftpClient.changeWorkingDirectory(remotePath);  
  24.          ftpClient.setBufferSize(1024);  
  25.          ftpClient.setControlEncoding("UTF-8");  
  26.          ftpClient.enterLocalPassiveMode();  
  27.                  fis = new FileInputStream(fileNamePath + fileName);  
  28.          ftpClient.storeFile(fileName, fis);  
  29.            
  30.          returnMessage = "1";   //上传成功         
  31.      } else {// 如果登录失败   
  32.          returnMessage = "0";  
  33.          }  
  34.                
  35.   
  36.  } catch (IOException e) {  
  37.      e.printStackTrace();  
  38.      throw new RuntimeException("FTP客户端出错!", e);  
  39.  } finally {  
  40.      //IOUtils.closeQuietly(fis);   
  41.  try {  
  42.      ftpClient.disconnect();  
  43.  } catch (IOException e) {  
  44.         e.printStackTrace();  
  45.         throw new RuntimeException("关闭FTP连接发生异常!", e);  
  46.     }  
  47.  }  
  48.  return returnMessage;  
  49. }  

相关内容