栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

生成验证码时,验证码图片不显示,报错信息如下:Can‘t create output stream;Can‘t create cache file

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

生成验证码时,验证码图片不显示,报错信息如下:Can‘t create output stream;Can‘t create cache file

登录验证时,验证码不显示,解决办法如下:

今天写了一个简单的demo,测试使用验证码登录验证,遇到了一个问题,验证码不显示,浏览器显示页面如下(简单测试,页面就随便写了一个)

浏览器显示界面如下(验证码无法显示):

 报错信息如下:

错误日志1:

 错误日志2:

 错误日志3:

错误总结下来大概就是下面三个:

Can't create output stream!(没有办法创建输出流) Can't create cache file!(没有办法创建缓冲文件) D:Program FilesApacheapache-tomcat-8.5.27tempimageio5481273428871630221.tmp(没有办法在D:Program FilesApacheapache-tomcat-8.5.27temp文件夹下面生成imageio5481273428871630221.tmp)


一般碰到 Can't create output stream!的问题,看看下面两种情况:

(1)查看我们的tomcat下面没有temp文件夹,因为ImageIO默认使用的缓存目录是tomcat文件夹下面的temp文件夹。

(2)如果有这个文件夹还是无法生成缓存文件,那么大概率可能是没有没有管理员权限造成的无法缓存,D盘需要管理员权限才能创建文件夹。


对应的解决方案:

(1)手动在tomcat文件夹下创建一个temp文件夹,然后重启Tomcat服务器(默认缓存就存放在temp文件夹下下,没有固然会报错)

  (2) 在生成验证码的代码中加入如下代码:ImageIO.setUseCache(false);//不使用文件目录缓存,使用内存缓存

注意:ImageIO默认就是使用的缓存目录,所以这里需要使用上面代码来更改缓存策略

我的代码如图:


 

更改后的结果如下:

希望对你有帮助,加油骚年!

标签: java , 验证码 , Can't create output stream! , Can't create cache file!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/786232.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号