你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS7技巧 >> Swift實現FTP客戶端的制作(使用Rebekka庫)

Swift實現FTP客戶端的制作(使用Rebekka庫)

編輯:IOS7技巧
Swift可以做許多的一些應用開發了,我們這裡來持一個Swift實現FTP客戶端的制作(使用Rebekka庫)例子,文章參考一個站長的我們一起來看看吧.

下面介紹如何使用第三方庫 Rebekka 來進行FTP客戶端的開發,實現的功能包括:FTP服務器連接,文件列表的查詢,文件夾創建,上傳文件,下載文件。

1,Rebekka的說明與配置

Rebekka是一個用Swift語言寫的FTP/FTPS客戶端操作庫。其內部封裝使用的是CFNetworking網絡庫的CFFTPStream API。

下載地址:https://github.com/Constantine-Fry/rebekka

 

(1)把“Rebekka.xcodeproj”拖入到項目中來

 

原文:Swift - FTP客戶端的制作(使用Rebekka庫)
(2)在“項目” -> “Build Phases” -> “Target Dependencies”中把“RebekkaTouch”添加進來。

 

原文:Swift - FTP客戶端的制作(使用Rebekka庫)

 

(3)在需要使用的時候 import 即可


(3)在需要使用的時候 import 即可

import RebekkaTouch

2,初始化連接配置


import UIKit
import RebekkaTouch
 
class ViewController: UIViewController {
    
    var session: Session!
 
    override func viewDidLoad() {
        super.viewDidLoad()
       
        var configuration = SessionConfiguration()
        configuration.host = "ftp://ftp.hangge.com"
        configuration.username = "ftpuser"
        configuration.password = "123456"
        session = Session(configuration: configuration)
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

3,獲取文件、文件夾列表並輸出

下面把根目錄下的所有文件、文件夾名字打印出來(當然還可以獲取到其他信息,比如文件創建者,創建時間等等)


showList("/")
    
func showList(path: String) {
    session.list(path) {
        (resources, error) -> Void in
        for item in resources!{
            print("文件類型:\(item.type)   文件名稱:\(item.name)")
        }
    }
}

原文:Swift - FTP客戶端的制作(使用Rebekka庫)

4,新建文件夾

createDirectory("/upload/測試文件夾")
    
func createDirectory(path: String) {
    session.createDirectory(path) {
        (result, error) -> Void in
        if result {
            print("文件夾創建成功!")
        }else {
            print("文件夾創建失敗: \(error)")
        }
    }
}

5,上傳文件

func testUploadFile() {
    //本地文件
    let URL = NSBundle.mainBundle().URLForResource("logo", withExtension: "png")
    //服務器路徑以及保存的文件名
    let path = "/upload/\(NSUUID().UUIDString).png"
    //上傳文件
    session.upload(URL!, path: path) {
        (result, error) -> Void in
        if result {
            print("文件上傳成功!")
        }else {
            print("文件上傳失敗: \(error)")
        }
    }
}

6,下載文件

默認下載下來的文件是保存在臨時文件夾下並隨機命名的。我們可以在下載完畢的回調方法中將其移動到需要的目錄(比如用戶文檔目錄)並重命名。


func testDownloadFile() {
    self.session.download("/upload/hangge.png") {
        (fileURL, error) -> Void in
        print("文件保存地址:\(fileURL)")
    
        //下載下來的臨時文件,要自行處理
        /**
        if let fileURL = fileURL {
            do {
                try NSFileManager.defaultManager().removeItemAtURL(fileURL) //刪除臨時文件
            } catch let error as NSError {
                print("Error: \(error)")
            }
        }**/
    }
}

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved