NSURLSession 是不是支持 FTP 上传?

Posted

技术标签:

【中文标题】NSURLSession 是不是支持 FTP 上传?【英文标题】:Does NSURLSession support FTP upload?NSURLSession 是否支持 FTP 上传? 【发布时间】:2014-04-28 06:13:57 【问题描述】:

我想将文件上传到 FTP。我想使用NSURLSession 作为后台支持。苹果文档说它是受支持的,但到目前为止我一直找不到它。我做过的POC如下:

来自苹果here 的示例代码使用了我想避免的 NSStreams。 另一方面,Apple 的 URL 编程指南 here 说:

URL 加载系统支持使用以下协议访问资源:

文件传输协议 (ftp://) 超文本传输​​协议 (http://) 带加密的超文本传输​​协议 (https://) 本地文件 URL (file:///) 数据 URL (data://)

到目前为止,我已经搜索了 NSURLSessionUploadTaskNSURLSessionDataTask,但我只能找到 HTTP 协议,这不适用于 FTP。

非常感谢任何帮助,并提前致谢。

【问题讨论】:

【参考方案1】:

来自NSURLSession Class Reference

NSURLSession 类和相关类提供了通过 HTTP 下载内容的 API。

您可以使用 CFNetwork 框架的其他库,例如 WhiteRaccon 将文件上传到 FTP 服务器。

【讨论】:

developer.apple.com/library/ios/documentation/Cocoa/Conceptual/… 又说URL loading system natively supports the http, https, file, ftp, and data protocols. Implement a custom protocol by subclassing NSURLProtocol then registering the with the URL loading system using the NSURLProtocol class method registerClass:.When an NSURLSession,NSURLConnection,or NSURLDownload object initiates a connection for an NSURLRequest object 也nshipster.com/nsurlprotocol 如果 NSURLSession 可以处理它也不想使用 CFNetwork,因为 iOS 7 中对 NSURLSession 的后台支持

以上是关于NSURLSession 是不是支持 FTP 上传?的主要内容,如果未能解决你的问题,请参考以下文章

iOS NSURLSession 实现网络请求-文件下载-上传-后台下载

在后台如何在线解压FTP文件啊

iOS 编程:NSURLSession

FileZilla FTP上传大一点的文件失败

swift3.0:NSURLSession的使用

怎么通过PHP来支持FTP和HTTP上传