SpringBoot上传文件到本地 配置项目访问路径URL的根路径,访问项目本地图片

SpringBoot配置项目访问路径URL的根路径,并访问项目本地图片

配置项目跟路径,默认localhost:8080,如添加了项目访问跟路径,上传文件返回的URL也需要包含此路径(没配置就不用写)

1、SpringBoot在2.0之前版本使用server.context-path
server.context-path=/demo
2、SpringBoot在2.0之后版本使用server.servlet.context-path
server.servlet.context-path=/demo
spring:
    # 启动环境 Dev|Test|Prod
    profiles:
        active: Dev
    freemarker:
        #模板引擎缓存
        cache: true
        #本地文件上传到的路径
    resources:
        static-locations: file:E:/demo/uploadPath/
        #文件对外暴露的访问路径
    mvc:
      static-path-pattern: /**

新建一个类,类名随意,实现WebMvcConfigurer 重写addResourceHandlers方法

/**
 * WebMvc配置
 * @author zhouzhou
 */
 
@Configuration
public class WebConfig implements WebMvcConfigurer {

	@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {

        registry.addResourceHandler("/static/**").addResourceLocations(staticPrefix)
				.setCacheControl(CacheControl.maxAge(cacheTime, TimeUnit.DAYS).cachePublic());/flowable/**").addResourceLocations("classpath:/flowable/");
        /** 本地文件上传路径 */
//		registry.addResourceHandler("/profile/**").addResourceLocations("file:" + ShopConfig.getProfile(),"file:" + Global.getEditorPath());
        registry.addResourceHandler("/profile/**").addResourceLocations("file:" + FileUploadConfig.getProfile());
		/** swagger配置 */
		registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
		registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
	}

	/**
	 	* 注册系统拦截器
	 */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(LicenseCheckInterceptor).addPathPatterns("/**")
        .excludePathPatterns("/static/**","/authInsu/**", "/profile/**","/image/**");
    	registry.addInterceptor(securityKeyInterceptorAdapter).addPathPatterns("/**");
        registry.addInterceptor(lockHandlerInterceptorAdapter).addPathPatterns("/**");
        registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");
		if(ToolUtil.isNotEmpty(adapterRegistry)){
			for(String key: adapterRegistry.keySet()){
				registry.addInterceptor(SpringUtil.getBean(key)).addPathPatterns(adapterRegistry.get(key));
			}
		}
    }
}

文件上传工具类参考若依 FileUploadUtilsFileUploadConfig也可参考,类名随意

http://localhost:8080:输入你自己的ip地址和端口,demo:是我自己项目登录访问路径

/**
 * 文件上传
 */
@Controller
@RequestMapping("/uploadFile")
public class UploadFileController {
    /**
     * @param file
     * @return
     */
    @PostMapping("/uploadFile")
    @ResponseBody
    public Map<String, Object> uploadFile(@RequestParam("file") MultipartFile file) {
        try
        {
            // 上传文件路径
            String filePath = FileUploadConfig.getUploadPath();
            // 上传并返回新文件名称
            String fileName = FileUploadUtils.upload(filePath, file);

            String url = fileName;
            Map<String,Object> resultMap = new HashMap<>();
            //状态码,成功0,失败1
            resultMap.put("code","0");
            //提示消息
            resultMap.put("msg","上传成功");
            //数据(表格填充数据)
            resultMap.put("data",url);
            //分页总条数
            resultMap.put("count",0);

            return resultMap;
        }
        catch (Exception e){
            e.printStackTrace();
            return error("上传失败");
        }
    }
}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于SpringBoot框架开发的长途汽车售票系统,同时是大三上学期软件设计与编程实践的大实验作业,可以用户提供长途汽车信息查询、购买的功能,以及管理员的后台统计等业务。 项目用到的技术: SpringBoot2.5.6 Mybatis Mysql Redis Druid Mybatis generator html、css、js JQuery Bootstrap 部署项目 1、还原数据库 运行Mysql数据库,创建数据库rail-ticketing-system,导入项目目录下sql文件下的数据库还原文件rail-ticketing-system.sql。 2.导入项目 打开IDEA,打开car-ticketing文件夹 3、加载maven 等待maven加载,大概5分钟左右 4、配置项目路径 配置属性文件路径:src/main/resources/application.properties 注:只需配置和修改sql主机地址,数据库名,用户名,密码, 项目访问路径,这几个属性,项目即可正常运行访问。 # DataSource jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/rail-ticketing-system?useUnicode=true&characterEncoding=utf8&useSSL=false jdbc.username=root jdbc.password=123456 5、运行项目 IDEA运行项目, 打开浏览器http://localhost:8080 ,进入乘客页面,用户名chz,密码123456 打开浏览器http://localhost:8080/admin ,进入管理员页面,管理员用户名admin,密码123456 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值