废话少说,直接正题,出现这个错误,后端需要的设置:
第一步:yaml配置文件配置
spring:
resource:
static-locations: classpath:/static/,classpath:/public/,file:${zhong.path.upload}
zhong:
path :
#文件上传根目录 设置
upload: D:/space/upload
path是要上传的本地地址,
spring.resource.static-locations是设置静态文件,让前端能够访问到这个路径中的文件。
第二步,在shiro(security)中放行file的文件:
filterChainDefinitionMap.put("/sys/common/view/**", "anon");//图片预览不限制token
filterChainDefinitionMap.put("/sys/common/download/**", "anon");//文件下载不限制token
filterChainDefinitionMap.put("/sys/common/upload/**", "anon");//文件下载不限制token
filterChainDefinitionMap.put("/sys/common/pdf/**", "anon");//pdf预览
filterChainDefinitionMap.put("/generic/**", "anon");//pdf预览需要文件
filterChainDefinitionMap.put("/certificate/**", "anon");//证书
filterChainDefinitionMap.put("/files/**", "anon");
filterChainDefinitionMap.put("/files/**", "anon");这个就是放行file文件
第三步,在前端进行访问:
http://127.0.0.1:8080/space/files/20210303/12345.jpg
http://127.0.0.1这是地址
8080是端口号
space是content-path
files/20210303/12345.jpg是文件地址
文件的实际存储地址是在:D:/space/upload/files/20210303/12345.jpg