您现在的位置是:首页 > 后台技术 > JavaJava
Java下载静态资源(图文)
第十三双眼睛2024-07-19【Java】人已围观
简介有的时候,我们可能需要一些简单的下载功能,比如在项目里需要有导入功能,这时候需要一个下载模板的功能,我们就可以将预先编辑好的模板,放在项目中的静态资源目录下面,然后写一个接口,直接将预先放置好的模板返回,如果模板有变动,我们也不需要改代码,直接把模板进行替换即可。
首先,在resources目录下新建一个文件夹,用来存放静态文件,我这里叫template,然后把要下载的文件放进去
![](/d/file/p/2024/07-19/8bee787258d3c9d13805a20a0e008e12.png)
SpringBoot项目静态资源文件下载:代码如下:
启动项目,打开浏览器,输入接口地址:http://localhost:9010/excel/download
可以看到文件已经下载成功了,同样的,打成jar包也是可以成功的
![](/d/file/p/2024/07-19/6ea532007a15ccdf3c5b3cb3541971a3.png)
![](/d/file/p/2024/07-19/8bee787258d3c9d13805a20a0e008e12.png)
SpringBoot项目静态资源文件下载:代码如下:
import org.springframework.core.io.Resource; import org.springframework.core.io.UrlResource; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.io.IOException; import java.net.URISyntaxException; import java.net.URL; import java.net.URLEncoder; /** * 文件下载 * * @author zyb */ @RestController @RequestMapping("excel") public class ExcelController { @GetMapping("/download") public ResponseEntity<Resource> downloadFile() throws IOException, URISyntaxException { String filePath = "template/template.xlsx"; URL resource1 = ExcelController.class.getClassLoader().getResource(filePath); Resource resource = new UrlResource(resource1.toURI()); String charSet = "utf-8"; if (resource.exists()) { String fileName = URLEncoder.encode(resource.getFilename(), charSet); return ResponseEntity.ok() .contentType(MediaType.APPLICATION_OCTET_STREAM) .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + fileName + "\"") .body(resource); } else { return ResponseEntity.notFound().build(); } } } |
可以看到文件已经下载成功了,同样的,打成jar包也是可以成功的
![](/d/file/p/2024/07-19/6ea532007a15ccdf3c5b3cb3541971a3.png)
Tags:
很赞哦! ()
上一篇:命令行中文乱码解决(图文)
相关文章
随机图文
微服务springcloud(图文)
微服务就是由一系列围绕自己业务开发的微小服务构成,他们独立部署运行在自己的进程里,基于分布式的管理 微服务是一种架构方式: 将单一应用基于业务拆分多个微小服务,他们独立运行 独立部署 每个服务运行在自己计算机进程里面 对于这些服务都是分布式管理。 这种架构是将单个的整体应用程序分割成更小的项目关联的独立的服务。一个服务通常实现一组独立的特性或功能,包含自己的业务逻辑和适配器。各个微服务之间的关联通过暴露api来实现(http)。这些独立的微服务不需要部署在同一个虚拟机,同一个系统和同一个应用服务器中彻底搞懂字符编码(图文)
彻底搞懂字符编码JAVA解析XML
记录一下java解析xml,以便以后用时快速查找shiro学习(图文)
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序