vue通过spring boot 下载文件教程

1、application.yml

复制代码
# 服务器端口
server:
  port: 8081



user-dir: D://app/stshare

2、配置多个路径(保留默认+新增)

若需保留默认路径并添加自定义路径,需显式包含默认路径:

复制代码
# application.properties
spring.web.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/custom-static/

3、 添加本地磁盘目录

通过 file:前缀指定本地文件系统中的目录(如项目外的上传目录),适用于存储大量静态资源(如用户上传的图片):

复制代码
# application.properties
spring.web.resources.static-locations=classpath:/static/,file:D:/upload/

4、通过配置类自定义路径

复制代码
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 将/static/**路径映射到classpath:/custom-static/目录
        registry.addResourceHandler("/static/**")
                .addResourceLocations("classpath:/custom-static/");
        
        // 添加本地磁盘目录(如D盘upload目录)
        registry.addResourceHandler("/upload/**")
                .addResourceLocations("file:D:/upload/");
    }
}

5、controller层代码

复制代码
package com.example.login;


import org.springframework.web.bind.annotation.*;


@RestController
public class StudentController {
  
    @RequestMapping("/api/public/newdownload")
    public void getnewdownload(){

    }
}

6、启动类

复制代码
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;




@SpringBootApplication(scanBasePackages={"com.example.service","com.example.service.impl","com.example.login","com.example.util"})
public class DemoApplicationTest {

	public static void main(String[] args) {

		SpringApplication.run(DemoApplicationTest.class, args);
	}

}

7、项目启动完成后在地址栏输入http://127.0.0.1:8081/api/public/newdownload/1.xlsx

出现下载弹窗说明文件路径配置成功

8、前端vue测试代码

复制代码
const exportpageStudent = () =>{
  location.href="api/public/newdownload/1.xlsx";
    }
相关推荐
LV技术派12 分钟前
【成为 AI Native Builder · 02】什么是 AI Native Builder:一个人 + AI,交付完整闭环
前端·程序员·ai编程
#麻辣小龙虾#31 分钟前
网页布局css中flex+margin的组合布局技巧
开发语言·前端·javascript
叼烟扛炮35 分钟前
Linux 学习笔记(四十五):Web 安全基石——Cookie、Session 与 HTTPS 原理解析
linux·前端·网络·笔记·学习·tcp/ip·安全
环境栈笔记42 分钟前
指纹浏览器安卓怎么用?从运行位置到功能验收,先把三种方案分清
前端·人工智能·后端·自动化
计算机魔术师1 小时前
Anthropic IPO 招股文件披露近 9000 亿美元隐性债务
前端
小小张说故事1 小时前
Python 的 list 为什么能装下任何类型?拆开 PyObject* 数组,以及它让你多付了多少内存
后端·python
chi11301 小时前
【无标题】
前端·javascript·python
小蒜学长2 小时前
基于SpringBoot 框架的自媒体新闻系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·mysql数据库·自媒体新闻管理系统
IT_陈寒2 小时前
JavaScript实战技巧总结:深挖数组遍历的性能陷阱与实战解法
前端·人工智能·后端
步行cgn2 小时前
为什么既要 web.xml 又要 springmvc.xml?能不能只配一个?
xml·前端·hive