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. js 事件监听 冒泡事件

    js 事件监听  冒泡事件   的取消 [自己写框架时,才有可能用到] <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitiona ...

  2. Session: 防止用户多次登陆

    在web开发时,有的系统要求同一个用户在同一时间只能登录一次,也就是如果一个用户已经登录了,在退出之前如果再次登录的话需要报错. 常见的处理方法是,在用户登录时,判断此用户是否已经在Applicati ...

  3. hadoop系列讨论

    生产环境下cloudera的cdh版本更受欢迎,但是貌似cloudera对于YARN的开发力度不是很突出,所以在apache与cdh版本选择的时候,大家是怎么考虑的? 主要关注生产环境下的运维成本,期 ...

  4. eclipse下提交job时报错mapred.JobClient: No job jar file set. User classes may not be found.

    错误信息: 11/10/14 13:52:07 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. A ...

  5. linux在工作中用的比较多的几个命令

    1.chmod +X qmf.txt;给qmf.txt文件添加执行的权限 2.find命令: find ./ -name "*.log" exec  rm -rf { } \;   ...

  6. ITEYE中的读书笔记:重构其实就是持续改进

    原文地址:http://hawkon.iteye.com/blog/2093338#bc2355877 前段时间同事参加ITEYE的试读有奖, 没想到得了个奖,拿到一本书.由于同事的推荐我也认真读了一 ...

  7. JS插件

    1.Placeholders.js 所有的浏览器都支持placeholder,唯独IE不支持.现在我们有了这款插件,IE下终于可以支持了! 2.Html5shiv.js 主要解决HTML5提出的新的元 ...

  8. Redis String命令

        命令 解释 APPEND key value 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾. 如果 key 不存在, APPEND ...

  9. HDU1561 The more, The Better(树形DP)

    题目是有n个存有宝藏的城堡,攻克任何一个城堡都需要先攻克0个或其他1个城堡,问攻克m个城堡最多能得到多少宝藏. 题目给的城堡形成一个森林,添加一个超级根把森林连在一起就是树了,那么就考虑用树型DP: ...

  10. 设置完在Canvas的位置后,控件HitTest不响应的问题

    have a Canvas with a couple of elements on it like Line, Path and Text Box. In the MouseOver event o ...