话不多说上干活
java后台上传图片后,通过访问地址在浏览器上访问跳转到后台登录页面问题处理
示例
我们一般上传图片后会生成一串链接地址类似
http://127.0.0.1/upload/images/20220630/f11a29fc79f4460abcb55fb56afe0cc0.jpg
然后用链接访问浏览器会得到我们刚刚上传的图片。
可是有没有发现,当我们退出后台登录再去访问这串链接时,会发现跳转的并不是图片地址,而是后台登录页面,这是由于类似于Shiro的拦截器所造成的原因,他会把没有加入白名单的接口统统拦截在登录页面外,导致我们访问,而解决方法也很简单,只需要在Shiro配置里面添加白名单即可。
示例
ShiroConfig类中
//文件访问地址开放
filterMap.put("/upload/images/**", "anon");
设置成功后重新启动程序,不需要登录就可以访问到图片了。
(还有一个小问题)
安卓前端通过链接获取后台的图片时,加载图片报错:class com.bumptech.glide.load.engine.GlideException: Failed to load resource
原因是因为后台配置了nginx,所有的请求会通过路由重定向到后台资源目录,只需要在nginx的配置文件下修改下/nginx/conf/nginx.conf文件
示例
原配置
#图片资源访问配置
location /data/upload/ {
alias /usr/local/java/data/upload/;
autoindex on;
}
修改后配置
#图片资源访问配置
location /data/upload/ {
alias /usr/local/java/data/upload/;
#autoindex on;
}
安卓端访问加载成功