如何使用Moya下载文件

时间:2017-05-29 07:50:40

标签: ios swift alamofire moya

通常我使用Alamofire& Moya/RxSwift& ObjectMapper分析对象 但现在增加了需求。我的应用程序需要下载文件。

我用过

Alamofire.download(urlString, to: destination) 

临时解决了问题

但它并不优雅。

我想使用Moya维护相同的网络层。

您能否展示下载Moya的“TargetType”

2 个答案:

答案 0 :(得分:1)

使用Moya下载文件,关键是覆盖 `

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

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

答案 1 :(得分:0)

@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)