网络上大多数的文件的上传都是通过ASIHttpRequest库以form表单的形式完成的,比较简单,代码逻辑也比较清晰,在此笔者就不赘述了。而今天要跟大家分享的是在iOS端使用ftp的形式进行上传的方式。
由于网上关于在iOS端ftp上传的资料很少,而且刚好笔者也需要用到ftp,因此,便促成了此文的诞生。
一、 简介
在iOS端的ftp上传使用的是CFNetWork框架,它处于核心服务框架中,提供了一个抽象化的网络协议库。使用CFNetWork框架中的CFFTPStream类提供的API能够做很多ftp操作,例如上传文件、下载文件、下载目录列表,创建远程目录等等。
但是在使用上也存在一些的限制,CFFTPStream 提供的ftp操作比较基础,它并不是完全的FTP客户端API,不支持所有的FTP操作。例如:
- FTPS(FTP over TLS)
- 删除文件(没法像Android里面的comment-net包那样可以直接删除服务器文件)
- 重命名文件
- 自定义FTP命令
另外,CFFTPStream的目录解析也局限于简单的目录,只能够解析一般的基于UNIX FTP服务的目录。
二、 配置
要使用CFFTPStream的功能,需要导入CFNetWork 框架,方便的是不用去下载第三方包,直接在Xcode里面添加就好了。
1)添加CFNetWork framework
第一步:
第二步:
2)新建工程,取名为FtpUpLoad
建立SingleView的项目,配置好nib文件。包括以下控件: