首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用RxAlamofire下载图像

如何使用RxAlamofire下载图像
EN

Stack Overflow用户
提问于 2019-08-18 13:17:26
回答 1查看 680关注 0票数 1
代码语言:javascript
复制
func showImageForUrl(url: String) -> Observable<Async<Any>> {
    let result = RxAlamofire
        .requestJSON(.get,
                     url,
                     parameters: nil)
        .flatMap { (response, json) -> Observable<Any> in
            return Observable.just(json)
        }.async()
    return result
}

url字符串"l134PCuEcA/s1600/dog+photos+3.jpg

我正在尝试,但最终的结果是一个错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-22 07:03:20

我认为问题之一是您的请求的格式:应该是requestData(...)而不是requestJSON(...)下载数据,然后将其转换为图像。

下面是一个比前面的代码更简单的例子

代码语言:javascript
复制
func showImageForUrl(url: String) -> Observable<UIImage?> {
    return RxAlamofire
        .requestData(.get, url)
        .map({ (response,data) -> UIImage? in
            return UIImage(data: data)
        })
}

您可以如下所示使用它

代码语言:javascript
复制
showImageForUrl(myUrl)
    .bind(to: myImageView.rx.image)
    .disposed(by: disposeBag)

当无效响应或UIImage为零时,您还可以进一步过滤,希望它有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57544950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档