为什么80%的码农都做不了架构师?>>>   

做完了登录,注册后。为了防止恶意的注册行为,又参照网上做了个简单的验证码。没想到我已经掉到了一个坑里。本地显示好好的验证码,扔到服务器上显示不出来,然而监控访问验证码的网络信息 返回的状态码是200 大小为300B。图片本地正常显示是1000B左右。因为返回的服务器状态码是200,而返回图片大小为300B(根本没显示出来)百度网站验证码不显示,根本不是我想要的答案,过了一段时间才找到了一个接近的博客。里面提到tomcat 的Headless mode模式,大概意思是要修改${TOMCAT_HOME}/bin/catalina.sh或${TOMCAT_HOME}/bin/catalina.bat文件才能让tomcat更好的传输图片。博客里只有修改catalina.sh的详细步骤,我们公司服务器上的是windows server要修改就应该是catalina.bat文件,总之前前后后修改各种tomcat配置折腾了两天。今天中午的时候,才开始出现转机,同事给了我另外一个验证码的实现方式(和我的只是稍微有点差异),没有路走了,我只有死马当活马医,实现了一下同事的验证码方式。在本地正常,扔到服务器上报错了,返回状态是500,太棒了,就是这个错误解救了我,查看详细错误信息,can't create output stream百度一下就出来了,原来是ImageIO.write这个坑,我之前一直把疑点放到tomcat配置上,因为我的验证码实现方式服务器返回状态时200。。。 现在看来这个200真的好坑。。。 ImageIO.write 我的报200是因为formatName填的是“PNG”,而同事填的的formatName是“jpg”。。。 最后总结下,这次为什么会这么坎坷: 1这个情况从表面来看,不知道怎么好提问,搜索 2刚好撞到PNG上,报200,然后方向就一直错了下去。

转载于:https://my.oschina.net/xiangban/blog/492958

验证码——ImageIO.write的坑相关推荐

  1. 短信验证码登录需求的坑点整理

    随着手机的普及,手机验证码登录需求已经成为一个很常见的需求,但是这么一个看似简单的需求,其实还是有很多坑的. 昨天使用兄弟团队的登录界面,就发现了一些安全问题,在这边整理了一些我的经验和坑点,写下来备 ...

  2. imageio不存在java,Java自带的ImageIO留下的坑

    前些日子接到了一个需求,要求代码中计算一个网络图片的宽高,于是我想到了ImageIO.read(URL url)方法,很快就开发完了这个功能,可是到了生产后就懵逼了,很多图片地址读取不到内容. 图片都 ...

  3. 使用极光推送发送短信验证码

    发送短信验证码 1.获取AppKey和Master Secret 2.设置短信模板和短信签名 3.开始服务端接口的实现 1.获取AppKey和Master Secret 首先应有一个极光推送官网的账号 ...

  4. 基于shiro的按钮级别的权限管理系统

    一.项目背景 作为程序猿的你,是否在大学课堂上听到老师讲权限管理一脸懵逼:是否在互联网上看到炫酷的权限管理系统一脸羡慕:是否在公司学习使用权限管理一脸激动.那么,今天你看到这个教程之后,请你不要再懵逼 ...

  5. vue @mousemove实现拖动,鼠标移动过快拖动卡顿

    需求 使用vue实现滑动拼图验证码 踩到的坑 使用@mousemove绑定事件拖拽速度过快有严重的卡顿 源代码 <template><div class="slider-v ...

  6. 调用SMS腾讯云短信验证码API的几个坑,及详细使用流程

    前言 首先说下,几个坑已解决.准备说一下.使用的一些步骤 因为项目有一个短信验证码登录注册的,首先注册的是阿里的.但是审核没有审核通过,所以有注册了腾讯的 本来向截图一下阿里的,结果登录出错了,这里就 ...

  7. vantUI组件:获取验证码 - 踩坑篇

    vant 的button组件:(发送验证码)按钮点击没反应? 应用场景 · 前戏: 效果图解说: 代码公示: <van-fieldv-model="sms"centercle ...

  8. 阿里云短信验证码的坑.....

    阿里云短信的坑 博主在集成阿里云短信的时候发生了此问题: 明明生成6位数字的验证码结果,通过阿里云短信发送出来有时只有5位. 解决办法也很简单我就直接贴代码,说原因了. 原因是: 问题原因:因为我返回 ...

  9. Android 获取短信验证码并自动填充(踩坑小米、荣耀、OPPO、华为)

    Android 获取短信验证码并自动填充(踩坑小米.荣耀.OPPO) 前言 最近弄了个短信自动填充功能,一开始觉得很简单,不就是动态注册个广播接收器去监听短信消息不就可以了吗?结果没这么简单,问题就出 ...

最新文章

  1. 2019年互联网趋势报告
  2. shell中exec解析
  3. LYVC揭秘硅谷核心基金圈投资游戏规则
  4. IOS开发之Autolayout——“Content Compression Resistance”和“Content Hugging”
  5. 鼻塞用鼻喷剂-调研(成分+刺激性)
  6. 为知笔记:优秀国产知识管理软件的使用心得
  7. metasploit 中文系统安装失败问题
  8. Mysql数据库——sql语句进阶
  9. [翻译]Scott Mitchell 的ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
  10. 更改计算机用户文件夹,win10系统怎么自定义C盘用户文件夹名称
  11. 删除或添加最大化、最小化按钮 - 回复 Tommy the CAT 的问题
  12. 计算机组成原理尾数的求法,计算机组成原理第八讲(运算办法).ppt
  13. java map 缓存数据_Map方式实现JAVA数据缓存
  14. 11.RabbitMQ实战 --- 提升性能,保障安全
  15. 王道计算机考研机试指南部分代码
  16. 【FME】常见转换器功能介绍
  17. html5 拾色器原理,HTML_html5 学习简单的拾色器 ,下面是源码 需要浏览器支持htm - phpStudy...
  18. 【视频】老外拍的阿里巴巴纪录片,讲述淘宝怎么打败eBay
  19. 高斯消元简单线性代数线性基学习记录
  20. 复旦大学计算机学院肖江,【学术报道】复旦大学肖江教授应邀来我校学术交流...

热门文章

  1. pandas DataFrame.shift()函数
  2. 深入理解javascript中的焦点管理
  3. 小黑小波比.Ubuntu14.04安装ffmpeg以及使用ffmpeg
  4. 同步、异步、阻塞、非阻塞IO
  5. 设置自动会计时,常数位置提示APP-FND-00804错误,解决方法
  6. Qt学习笔记之——生成exe可执行文件并打包生成安装软件
  7. 如何区分炫耀和分享?
  8. 超级烧脑惊悚悬疑电影《恐怖游轮》(原片+解说)
  9. 问题三十二:怎么用ray tracing画多边形(polygon, triangle)
  10. mysql 前沿表设计_史上最简单MySQL教程详解(基础篇)之表的维护和改造