如何使用 Moya 下载文件

Posted

技术标签:

【中文标题】如何使用 Moya 下载文件【英文标题】:How to use Moya to download file 【发布时间】:2017-05-29 07:50:40 【问题描述】:

通常我使用Alamofire & Moya/RxSwift & ObjectMapper 来分析对象 但是现在添加一个需求。我的应用需要下载文件。

我用过

Alamofire.download(urlString, to: destination) 

暂时解决了问题

但这并不优雅。

我想用 Moya 来维护同一个网络层。

你能显示一个下载 Moya 的“TargetType”

【问题讨论】:

【参考方案1】:

要使用Moya下载文件,关键是override `

var task:Task
    switch self 
        case .download:
        return .download(DownloadType.request(DefaultDownloadDestination))
   

https://gist.github.com/pandaApe/fac2615f729c9a0cf6bab29700416747

【讨论】:

【参考方案2】:

@Tony,根据当前的 Moya API,您有两种选择。

/// A file download task to a destination.
case downloadDestination(DownloadDestination)

/// A file download task to a destination with extra parameters using the given encoding.
case downloadParameters(parameters: [String: Any], encoding: ParameterEncoding, destination: DownloadDestination)

【讨论】:

以上是关于如何使用 Moya 下载文件的主要内容,如果未能解决你的问题,请参考以下文章

如何从通过 Moya.Response 查询返回的对象解析嵌套的 JSON 数组

如何在 Moya 中传递 URLRequest

BDD 测试中的 Moya 存根请求

Moya 构建错误

如何从 Moya 框架中禁用 Moya_Logger

使用 Moya 获取响应标头