2025-05-23

android客戶端實現FTP文件(包括圖片)上傳應該沒什麼難度。寫下來就瞭為瞭記錄一下,望能幫到新手。

 

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

 

直接上代碼:

 

[java]
/**
 * 通過ftp上傳文件
 * @param url ftp服務器地址 如: 192.168.1.110
 * @param port 端口如 : 21
 * @param username  登錄名
 * @param password   密碼
 * @param remotePath  上到ftp服務器的磁盤路徑
 * @param fileNamePath  要上傳的文件路徑
 * @param fileName      要上傳的文件名
 * @return
 *//www.aiwalls.com 
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; 

 

摘自  Scott 的專欄
 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *