kindeditor富文本编辑器上传图片出现500问题排查过程
前一段时间有个项目的富文本编辑器上传图片报500,起初认为是客户网络拦截的问题,因为与之相同的一个项目只是域名不一样确能上传,经过询问客户包收到的回应没有拦截问题,所以只能一步步去找项目哪里出现问题。
1、问题报错
打开控制台发现是一个jsp报的500
开始认为是被客户拦截就是这个原因,请求路径中带有image关键字,直接客户网络拦截过这个关键字
然后想办法去掉get传参,发现还是不行
2、找到插件的upload_json.jsp这个文件,分析代码,发现就是创建一个临时文件夹,存放一下上传的图片,等等,临时文件?,tomcat目录下不是有个temp文件夹可以存放运行过程中产生的临时文件吗,去看了一下客户的环境,果然,不知道被谁将tomcat里面的temp文件夹删除了。temp文件夹里面文件可以删除,但是文件夹你得给我留着啊,建立temp文件夹之后,果然上传图片没有问题了.
3、事后觉得自己并没有明确找出来系统报的500具体是什么错误,将项目中的500页面加入如下代码:
<H1>异常:</H1><span style="color:red"><%= exception.toString()%></span><br>
<H2>信息:</H2><%= exception.getMessage()%><br>
<pre>
<%
exception.printStackTrace();
ByteArrayOutputStream ostr = new ByteArrayOutputStream();
exception.printStackTrace(new PrintStream(ostr));
out.print(ostr);
%>
</pre>码片
打印出错误栈发现
至此问题原因发现,问题也已经解决。
注:下次处理jsp报错500直接先打印错误栈再去找问题会简单很多!!