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