bug 描述:

现象是我们这不能发布图片, 测试说患教方向是可以正常发布图片的(还是要感激测试,正是他们鞭策我们不断挑战困难,解决之,从而提高自己姿势水平).

  • 图片没上传上去, 服务端协助查找发现没调上传图片的方法,服务端反馈:正确的姿势是先上传图片, 上传图片成功,返回一个图片id,然后再调发布文章的接口(安卓是这样的)

  • 根据服务端的反馈,找上传图片的接口, 通过控制台log找到控制器,在选择培训班的页面,点发表按钮点击事件->应该调发表文章的接口,然而没有调用上传图片的接口(断点位置打错了,应该多打些断点), 上传图片方法的判断条件没走if(item.paragraphId.length == 0 && [item isImageType] && item.imageAssetURL.length > 0)

  • 没走上传方法,别的业务方向(患教)的可以上传,他们走的是什么方法?发现他们的判断条件跟我们稍微不同

  • 因为判断条件都不符合,所以没走上传方法. 控制台,item属性为空,看前后model传递并无问题

  • createArticle控制器肯定是没问题的,我们都用的一个控制器

  • 打断点,看控制台imageAssetURL为nil --> 怀疑是modle没有传递这个字段

  • 怀疑是模型传递错误,看方法是从哪调用的,往回追溯,[publish uploadArticle:weakObject.articleModel], 怀疑是这个articleModel有问题,
  • HDFSelectSchoolViewController.h 选择培训班的控制器,对外公布了两个model, 实现文件中还有个model, 这么多model我当时就懵逼了,一顿赋值,啥啊
  • 我们初始化控制器的时候只传递 articleModel, 谁改了什么地方? (结论是没人改)
  • 怀疑是调起相册的时候没有拿到url, 看createArticle有什么改动,
  • 发现他们删了一些代理方法,我给它恢复过来,运行,没效果
  • 我打断点,看患教文章发布的时候走的什么接口,就发现判断条件比我们多一个
  • if(item.paragraphId.length == 0 && [item isImageType] && (item.imageAssetURL.length > 0 || item.imageLocalIdentifer.length > 0))

  • 再看Git log 发现郭倩玲6/3修改过,于是我也补充上判断条件,把乾陵的代码copy过来, 把报警去掉,根据峰哥的逻辑修改这里的逻辑

  • 拷贝代码, 去掉红色报错,注释掉不用的通知代码,不用的逻辑,用旧的逻辑,用关联开发代理的环境,运行测试, 其实就可以了,
  • 我老是怀疑没调后台给的那个上传图片的接口,其实不是后台说的那样的, 患教方向上传图片也没调后台给的接口,而是一个flowref_uploadSound接口,当时很沮丧,
  • 其实,直接连上代理,测试一下就好了,不要疑神疑鬼的,直接测

总结:

  • 打断点,发现问题点,一步一步往前回溯,不要瞎猜,要顺藤摸瓜,一步一个脚印, 除非非常确定直觉
  • 发生这个现象的原因是上传本机图片调用的是患教写好的方法,但是我们月底合代码的时候,合了他们的代码,我们自己的并没有修正

知行合一,多总结,别傻干蛮干

bug 发表文章不显示图片的更多相关文章

  1. WordPress主题开发实例:显示最新发表文章

    实现效果 制作网站的时候,想在页面左栏显示最新发表的文章,如: 一.先开启侧边栏工具,在functions.php加上 $args = array( 'name' => __( '分类侧边栏') ...

  2. 在dedecms后台发表文章显示外部连接栏目

    问题描述:客户的网站,有个顶级栏目,下面包含了几个子栏目,这个顶级栏目不想发布什么内容,点击后进入他的某个子栏目就可以了,这时候把这个顶级栏目设置为“外部连接”就可以了 但是设置顶级栏目为外部连接后, ...

  3. jforum发表文章和回复文章显示中文乱码问题

    jforum安装时,在数据库创建jforum数据库的时候,设置了字符集(CREATE DATABASE jforum DEFAULT CHARACTER SET utf8 COLLATE utf8_g ...

  4. OpenCV 2.2版本号以上显示图片到 MFC 的 Picture Control 控件中

    OpenCV 2.2 以及后面的版本号取消掉了 CvvImage.h 和CvvImage.cpp 两个文件,直接导致了苦逼的程序猿无法调用里面的显示函数来将图片显示到 MFC 的 Picture Co ...

  5. hexo配置主题发表文章

    将本地hexo博客部署到github上了,如果想换我们自己喜欢的主题(默认为landscape),同时也要发表发表文章呢,下面给介绍下: 1,进入hexo官网,预览自己想要的主题,https://gi ...

  6. [Android] 给图像加入相框、圆形圆角显示图片、图像合成知识

        前一篇文章讲述了Android触屏setOnTouchListener实现突破缩放.移动.绘制和加入水印,继续我的"随手拍"项目完毕给图片加入相框.圆形圆角显示图片和图像合 ...

  7. Laravel大型项目系列教程(三)之发表文章

    Laravel大型项目系列教程(三)之发表文章 一.前言 上一节教程中完成了用户管理,这节教程将大概完成发表Markdown格式文章并展示的功能. 二.Let's go 1.数据库迁移 文章模块中我们 ...

  8. python将图片转换为Framebuffer裸数据格式(终端显示图片)

    要在ubuntu终端显示图片或者在板子的LCD显示图片,Framebuffer是一个简单易用的接口,直接写入像素信息即可. 但普通的图片带有头部信息或者编码格式不同,直接送入Framebuffer是显 ...

  9. Chrome 控制台新玩法-console显示图片以及为文字加样式

    有兴趣的同学可以文章最后的代码复制贴到控制台玩玩. Go for Code 在正常模式下,一般只能向console 控制台输出简单的文字信息.但为了把信息输出得更优雅更便于阅读,除了cosole.lo ...

随机推荐

  1. Java Hour 21 Weather

    有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 本文作者Java 现经验约为21 Hour,请各位不吝赐教. 继续心情不佳,那 ...

  2. hdu 2191 完全背包

    为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买.请问:你用有限的资金最多能采购多少 ...

  3. .NET Framework 4.6的新东西

    我们知道.NET Framework 4.6即将随着Visual Studio 2015一同到来,目前依然是预览版.4.6和4,4.5,4.5.1和4.5.2是兼容的,也即安装4.6后会升级替代他们. ...

  4. Android JNI(转)

    JNI,全称Java Native Interface,是用于让运行在JVM中的Java代码和运行在JVM外的Native代码(主要是C或者C++)沟通的桥梁.代码编写者即可以使用JNI从Java的程 ...

  5. 百度之星复赛 1004 / hdu5715 二分dp+trie

    XOR 游戏 Problem Description   众所周知,度度熊喜欢XOR运算[(XOR百科)](http://baike.baidu.com/view/674171.htm). 今天,它发 ...

  6. Hark的数据结构与算法练习之Bogo排序

    算法说明 Bogo排序是交换排序的一种,它是一种随机排序,也是一种没有使用意义的排序,同样也是一种我觉得很好玩的排序. 举个形象的例子,你手头有一副乱序的扑克牌,然后往天上不停的扔,那么有一定机率会变 ...

  7. python 把函数作为参数 ---高阶函数

    把函数作为参数 在2.1小节中,我们讲了高阶函数的概念,并编写了一个简单的高阶函数: def add(x, y, f): return f(x) + f(y) 如果传入abs作为参数f的值: add( ...

  8. C# 通用上传文件类

    1.Upfile.aspx: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="U ...

  9. SPEL语言-Spring Expression Language

    Spring表达式语言全称为"Spring Expression Language",缩写为"SpEL",类似于Struts 2x中使用的OGNL表达式语言,能 ...

  10. sprintf() in c

    Declaration Following is the declaration for sprintf() function. int sprintf(char *str, const char * ...