zoukankan      html  css  js  c++  java
  • AFN和SDWebImage请求网络图片的一点问题

    问题1.AFN 处理有关图片相关的请求的问题

    • 在使用AFN Post网络图片的时候发现NSLocalizedDescription=Request failed: unacceptable content-type: image/jpeg}
    • 可是自己明明有添加
      • mgr.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",  @"text/json", @"text/html", @"image/jpeg", @"image/png", nil];
    • 后来不知道怎么回事,就是打断点后来发现这句代码是生效了,可是被后边的
    • mgr.responseSerializer = [AFJSONResponseSerializer serializer];给覆盖掉了,也就是说acceptContentTypes中的image/jpeg又失效了
    • 后来是在发送有图片相关请求之前重新赋值一次acceptableContentTypes来解决的问题。
    • 2018年9月15日更新内容华丽丽的分割线

     

    • 再次发现原来即使反应的不报出来unacceptable 的问题了 可是得到的responseObject为null那么说怎么回事呢?
    • 后来调整了一下下边的内容
        • mgr1.responseSerializer = [AFImageResponseSerializer serializer];

        • 这样得到的responseObject就是图片了

    问题2:在忽略本地缓存的情况下,用SDWebImage 需要从服务器请求网络图片遇到的问题

    • 不知道为什么写的是options:SDWebImageRefreshCached,可是从服务器上边拿到的图片还是不是想要的那个,不能实时更新
    • 后来各种查发现SDWebImage确实有这个问题,用自己的话说是和服务器端设置的HTTP的header头里的no cache有关系,这一点以后再仔细看
    • 网址是这里:https://stackoverflow.com/questions/34065213/sdwebimage-not-updating-image-in-cache
    • 那么要么我们换方法要么就和后台去聊可能除了这个header的no-cache还有别的解决方法也有说通过改正SD源码的lastmodified的那个我没试成功
    • 那么如果改成别的办法的话其实AFN也可以加载网络图片,但是需要注意的是可能用Get方式加载下的网络图片是responseObject直接就是我们要的图片
    • 其实也可以用AFImageDownloader来做相应的实现,不过在没遇到奇葩问题之前使用SD还是更方便的
    • 可能说的有点乱 记录下来为了以后遇到类似问题知道怎么解决
    • 如有不当之处 敬请指正 
    • 如需转载 请注明出处 谢谢
    我会不定期分享 iOS 相关技术文章
  • 相关阅读:
    如何:为 Silverlight 客户端生成双工服务
    Microsoft Sync Framework 2.1 软件开发包 (SDK)
    Windows 下的安装phpMoAdmin
    asp.net安全检测工具 Padding Oracle 检测
    HTTP Basic Authentication for RESTFul Service
    Windows系统性能分析
    Windows Server AppFabric Management Pack for Operations Manager 2007
    Mongo Database 性能优化
    服务器未能识别 HTTP 标头 SOAPAction 的值
    TCP WAIT状态及其对繁忙的服务器的影响
  • 原文地址:https://www.cnblogs.com/ITCoderW/p/7522405.html
Copyright © 2011-2022 走看看