图片服务映射(SpringBoot mybatis-plus)
配置类
package cn.edu.qfnu.soft.common.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* 跨域配置
* @author Louis
* @date Jan 12, 2019
*/
@Configuration
public class CorsConfig implements WebMvcConfigurer {
/**
* @author 吕嘉鸣
* 配置图片服务映射
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//将/img/映射D:/photos/ 比如访问http:127.0.0.1:8080/img/test.png 就代表访问项目部署服务器上面的D:/photos/test.png
registry.addResourceHandler("/img/**").addResourceLocations("file:D:/photos/");
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") // 允许跨域访问的路径
.allowedOrigins("*") // 允许跨域访问的源
.allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE") // 允许请求方法
.maxAge(168000) // 预检间隔时间
.allowedHeaders("*") // 允许头部设置
.allowCredentials(true); // 是否发送cookie
}
}
拼接映射访问路径
@Override
public String 拼接映射访问路径( HttpServletRequest request) {
ChkBillImg chkBillImg = chkBillImgMapper.selectOne(queryWrapper);
String httpUrl = chkBillImg.getUrl().replace("D:\\photos\\", "").replace("\\", "/");
try {
//对ip和端口进行拼接
httpUrl = "101.201.148.143"+":"+String.valueOf(request.getServerPort())+ File.separator +"img"+File.separator+httpUrl;
httpUrl = "http://"+httpUrl.replace("\\", "/");
//拼接后为http://101.201.148.143:8080/img/test.png 前端直接访问或者src里是这个url就可以映射出文件或者图片了
chkBillImg.setUrl(httpUrl);
} catch (SocketException e) {
e.printStackTrace();
}
return httpUrl;
}
分类:
模块技能
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端