这是线上的一个问题:

客服反映真实拍客户端上传不了图片

当我听到这样的问题的时候,大脑中第一反映可能有几个原因:

1,真实拍图片CDN系统挂了?

2,网络问题,磁盘问题,IO问题?

3,客户端app某些版本的问题?

4,图片本身的问题例如太大?

5,人品问题。

呵呵,第5个原因当然只是一个玩笑。

带着这些问题,登陆到服务器去查看日志,只是发现图片找不到的异常,而PC端是可以正常上传图片的。

经试验,客户端所有版本好像都上传不了图片,一时半刻好像找不到解决办法。

怀疑是代码最近哪里有更改的问题吗,但不太可能,因为涉及到图片上传的这块很少改动,还是先把最新

trunk的代码在测试服务器上去发布下看看吧,上传图片是正常的。

线上服务器前几天还是正常的,为什么今天就不能上传呢?

自己写个模拟上传图片的问题去测测,或者在一个jsp页面写段代码区调用下上传图片的代码,看看是否正常。

<form action="http://s.taofen8.com/upload/userIcon?userId=1&cookie=2&key=f" method="post" enctype="multipart/form-data" ><input type="text" name="userId" value="1" /><br><input type="text" name="cookie" value="2" /><br><input type="text" name="key" value="" /><br>文件<input type="file" name="upfile" size="50"><br><input type="submit" />
</form>

测试环境,正常,但线上环境就是上传不上去

查看上传图片的临时目录,/home/www/deploy/showSAN/temp,测试环境就有图片,奇怪的是线上环境就是没有图片。

好奇怪? 心里能想到的是前一天只是对线上这个temp图片做过清理操作,因为线上的空间不是很多,难道删除掉这些图片也有影响吗?这不科学啊。

难道这temp目录,线上和测试有什么不一样的吗?

线上用命令 ll 查看一下,果然有问题:

这个temp目录是root权限 root用户,而master系统是tomcat6用户

所以tomcat6权限的用户上传到root权限的用户,上传不了,没有这个权限。

找到真正的原因了,那就只有把temp目录的权限授予tomcat6,执行下面的命令:

sudo chown -R tomcat6:tomcat6 /home/www/deploy/showSAN/temp

现在就可以正常上传图片了,问题解决。

清理temp的命令为这个:

find /home/www/deploy/showSAN/temp -name "*.jpg" -mtime +1 -print |   sudo xargs rm -rf

并不是这个命令本身的问题,而是直接删除掉了temp目录,再重新建立的temp目录,忘记授权了。

总结: 这个问题比较奇怪的是,线上就是报图片为空的异常错误,但没有报目录未授权的错误,所以比较难查,

但只要一步一步排查,测试环境,线上环境,多去试试,联想到最近有什么更改,还是可以找到出现问题最根本的原因的,所以写了这篇文章作为记录。

一步一步排查真实拍图片不能上传的问题相关推荐

  1. html5在线裁剪,HTML5 本地裁剪图片并上传至服务器(老梗)

    很多情况下用户上传的图片都需要经过裁剪,比如头像啊什么的.但以前实现这类需求都很复杂,往往需要先把图片上传到服务器,然后返回给用户,让用户确定裁剪坐标,发送给服务器,服务器裁剪完再返回给用户,来回需要 ...

  2. SSM框架:springmvc实现图片的上传与图片上传路径的设置

    说明:这个图片类文件上传的步骤是我经过验证的,在SSM框架下完成,搭建框架的部分不在这里说明. 第一步:添加两个项目需要的依赖.(pom.xml) <dependency><grou ...

  3. html5图片区域剪切,HTML5 本地裁剪图片并上传至服务器(老梗)

    很多情况下用户上传的图片都需要经过裁剪,比如头像啊什么的.但以前实现这类需求都很复杂,往往需要先把图片上传到服务器,然后返回给用户,让用户确定裁剪坐标,发送给服务器,服务器裁剪完再返回给用户,来回需要 ...

  4. uni-app——小程序实现本地图片的上传以及身份证的智能识别

    文章目录 前言 一.示例图 二.实现过程 1.完成提交图片的api地址 2.获取本地图片 3.将本地图片上传至开发者服务器 三.具体实现代码 四.身份证的智能识别 总结 前言 上传本地图片的功能很常见 ...

  5. php ios视频文件上传,iOS实现视频和图片的上传思路

    关于iOS如何实现视频和图片的上传, 我们先理清下思路,然后小编根据思路一步一步给大家详解实现过程. 思路: #1. 如何获取图片? #2. 如何获取视频? #3. 如何把图片存到缓存路径中? #4. ...

  6. php多图片上传并回显,如何用input标签和jquery实现多图片的上传和回显功能

    本文主要记录如何用input标签和jquery实现多图片的上传和回显,不会涉及后端的交互,大概的效果看图 效果图 我们从零来做一个这样的demo 第一步: 我们先完善一下我们的页面,默认的input- ...

  7. web 前端图片优化之--图片压缩上传

    移动前端-图片压缩上传实践  此前有同事跟我聊过关于移动端用canvas压缩图片后再上传的功能,最近有了点空闲时间,所以就实践了一下.demo效果链接在文章底部贴出. 在做移动端图片上传的时候,用户传 ...

  8. JS前端图片压缩上传

    JS前端图片压缩上传重点知识 最近在做一个手机端的图片上传,写了一个比较符合自己要求的方法,可供参考 在做这个功能模块时,我遇到了以下问题,都花费了大量时间: 1. 不知道怎么压缩图片,(代码和方法) ...

  9. 前端图片压缩上传(压缩篇)

    为什么说这是一篇比较适合小白的前端图片压缩文章呢?因为我也是一个刚工作半年的前端小白,最近接到了一个前端图片压缩上传的任务,通过各种百度博客完成了这项任务,但是任务完成后对各种技术细节却还不是特别理解 ...

  10. webuploader多图片 php,php+WebUploader图片批量上传

    一.webuploader webuploader主要用来做文件的上传,支持批量上传和图片预览,图片预览是将图片生成base64数据直接在 标签中使用,所以能够达到的效果是未真正上传图片可以先看到上传 ...

最新文章

  1. java 小对话框_创建Java对话框
  2. 表征学习、图神经网络、可解释的 AI,ML 机器人七大研究进展一览
  3. 程序员的“凡尔赛文学”大赏!
  4. 2.5亿存款丢失案储户6问质疑工行 句句戳痛点
  5. java url后面带sessionid_Spring Mvc boot解决静态url带jsessionid问题
  6. caffeine 4hash lfu频度记录
  7. Pycharm常见问题
  8. 剑指offer面试题[9-1]-跳台阶
  9. qmainwindow 标题栏_QMainWindow菜单栏和工具栏
  10. 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_09.RequestMapping注解的属性
  11. Restlet学习资源
  12. 2022 数学建模B题 高教社杯 含半成品论文 部分代码 全部数学模型 和全套思路
  13. 半导体车间净化工程的空气洁净度划分等级
  14. memcached(十三)注意事项
  15. Qt开发串口通信以及坐标显示程序并移植
  16. 稀疏问题的解决——数据平滑 - yiyi_xuechen
  17. 手势识别系统的发展前景
  18. 电话归属地查询接口地址
  19. rosbag命令 | EVO工具 的使用
  20. Web前端之jQuery库

热门文章

  1. QT的triggered意思
  2. 1.1.1 什么是程序?
  3. 沁春教你怎么在家制作拿铁咖啡!
  4. 亚美柏科笔试题——java
  5. 如何让excel图表根据当前月份自动延伸
  6. Work Stealing
  7. 硬件开发笔记(三):硬件开发基本流程,制作一个USB转RS232的模块(二):设计原理图库
  8. 微分中的dx和delta x
  9. 将轻松的留给生活,沉重的留给写作——读《灯下尘》(七堇年)
  10. mysql spatial索引_空间索引Spatial Indexing