Swift3 RxAlamofire post多部分数据

Swift3 RxAlamofire post多部分数据,swift3,alamofire,reactive-programming,rx-swift,rxalamofire,Swift3,Alamofire,Reactive Programming,Rx Swift,Rxalamofire,如何使用RxAlamofire发送多部分数据 例如在 如何获得与相同的行为/功能? 或将此函数包装为可观察函数的方法? 您可以像这样轻松地包装该函数: func wrapper() -> Observable<SomeResponseType> { return Observable.create { observer in let URL = try! URLRequest(url: "http://example.com", method: .po

如何使用RxAlamofire发送多部分数据

例如在

  • 如何获得与相同的行为/功能?
  • 或将此函数包装为可观察函数的方法?

  • 您可以像这样轻松地包装该函数:

    func wrapper() -> Observable<SomeResponseType> {
        return Observable.create { observer in
    
            let URL = try! URLRequest(url: "http://example.com", method: .post)
    
            Alamofire.upload(
                multipartFormData: { formData in
                    // multiaprt
                }, 
                with: URL, 
                encodingCompletion: { encodingResult in
    
                    switch encodingResult {
    
                    case .success(let upload, _, _):
                        upload.responseJSON { response in
                            // convert response in something of SomeResponseType
                            // ...
                        observer.onNext(response)
                        observer.onCompleted()
                    }
                    case .failure(let encodingError):
                        observer.onError(encodingError)
                    }
                })
    
            return Disposables.create()
        }
    }
    
    func包装器()->可观察{
    返回可观察的。在中创建{observer
    让URL=try!URLRequest(URL:http://example.com,方法:。post)
    阿拉莫菲尔上传(
    multipartFormData:{formData in
    //多APRT
    }, 
    使用:URL,
    encodingCompletion:{encodingResult in
    开关编码结果{
    成功案例(让我们上传,,u):
    upload.responseJSON{中的响应
    //将响应转换为SomeResponseType中的某个内容
    // ...
    onNext观察员(答复)
    observer.onCompleted()
    }
    案例失败(let encodingError):
    observer.onError(编码错误)
    }
    })
    返回一次性物品。创建()
    }
    }
    
    func wrapper() -> Observable<SomeResponseType> {
        return Observable.create { observer in
    
            let URL = try! URLRequest(url: "http://example.com", method: .post)
    
            Alamofire.upload(
                multipartFormData: { formData in
                    // multiaprt
                }, 
                with: URL, 
                encodingCompletion: { encodingResult in
    
                    switch encodingResult {
    
                    case .success(let upload, _, _):
                        upload.responseJSON { response in
                            // convert response in something of SomeResponseType
                            // ...
                        observer.onNext(response)
                        observer.onCompleted()
                    }
                    case .failure(let encodingError):
                        observer.onError(encodingError)
                    }
                })
    
            return Disposables.create()
        }
    }