idea处理文件报错问题

idea处理文件报错问题

1、idea上传文件获取文件路径的报错
在这里插入图片描述

报错原因:ServletRequest的getServletContext方法是Servlet3.0添加的,本地用的是Tomcat9.0,版本比较高,支持request.getServletContext()这种写法,而线上是Tomcat6.0,只支持到Servlet2.5,需要先用request拿到HttpSession或者通过Servlet自身拿到ServletConfig之后再获取ServletContext。
因此得改成:String path=request.getSession().getServletContext().getRealPath(“/upload”);

2、上传文件使用BASE64Encoder报错
当图片要以字节流的形式保存到数据库中,就得导入BASE64Encoder的包,导入import sun.misc.BASE64Encoder,IDEA还是会报错,无法识别这个类。在JDK9后,官方就已经不支持import sun.misc.BASE64Encoder了。有一个解决方案是把JDK的版本降低到1.8以内,个人觉得不大靠谱。改一下代码较妥,引入官方提供了新的jar包import java.util.Base64。然后把BASE64Encoder base64Encoder = new BASE64Encoder();修改为Base64.Encoder encoder = Base64.getEncoder();并把encode()方法改为encodeToString()。即可

你可能感兴趣的:(idea处理文件报错问题)