spring boot文件的上传下载
来源:互联网 发布:java考勤管理系统源码 编辑:程序博客网 时间:2024/05/16 19:40
spring boot 引入”约定大于配置“的概念,实现自动配置,节约了开发人员的开发成本,并且凭借其微服务架构的方式,一出来就占据大片开发人员的芳心。然而对于刚开始使用它的人来说是比较不习惯的,因为大部分的配置从开发人员可见变成了相对透明了,要想进一步熟悉还需要关注源码,对于spring boot 新人来说使用是比较吃力的。
为了记录自己对spring boot的学习,同时也可以对正在学习spring boot的同学提供一个demo。特写下这篇比较粗犷的博文。
spring boot搭建就不说了,详情请看spring官网spring boot quickly start篇。
废话不多说,先看文件上传:
对于文件上传使用springMVC的同学应该知道MultipartHttpServletRequest这个玩意,在spring boot中也是用它。首先我们看demo页面。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><form action="/testUpload" method="POST" enctype="multipart/form-data"><input type="file" name="file"/><input type="submit" /></form><a href="/testDownload">下载</a></body></html>
前端页面部分和springMVC完全一样(ps:本来spring boot就不是新的方案解决框架,只是改变了框架的使用方式而已)
后端代码也很简单,按上面说的,使用MultipartHttpServletRequest来处理上传请求,然后将接收到的文件以流的形式写入到服务器文件中。
@RequestMapping(value="/testUpload",method=RequestMethod.POST)public void testUploadFile(HttpServletRequest req,MultipartHttpServletRequest multiReq) throws IOException{FileOutputStream fos=new FileOutputStream(new File("F://test//src//file//upload.jpg"));FileInputStream fs=(FileInputStream) multiReq.getFile("file").getInputStream();byte[] buffer=new byte[1024];int len=0;while((len=fs.read(buffer))!=-1){fos.write(buffer, 0, len);}fos.close();fs.close();}
同理对于文件下载同样简单,只需要将文件写到输出流里:
@RequestMapping(value="/testDownload",method=RequestMethod.GET)public void testDownload(HttpServletResponse res) throws IOException{String fileName="upload.jpg";res.setHeader("content-type", "application/octet-stream");res.setContentType("application/octet-stream");res.setHeader("Content-Disposition", "attachment;filename=CourseResource.jpg");File file=new File("F://BaiduYunDownload//testRedis//src//file//upload.jpg");FileOutputStream fos=new FileOutputStream(file);res.setContentLengthLong(file.length());fos.close();}
在这个过程中完全不需要任何配置,不过如果你要设定上传文件的大小设定,那么你可以再application.properties中分别用
multipart.maxFileSize,multipart.maxRequestSize,这两个属性。
0 0
- spring boot文件的上传下载
- spring boot实现文件上传下载以及多文件上传
- Spring MVC 文件的上传下载
- Spring MVC的文件上传下载
- spring MVC 文件上传下载的实现
- Spring MVC 文件上传下载
- spring mvc 文件上传下载
- Spring MVC 文件上传下载
- Spring MVC-文件上传下载
- Spring MVC 文件上传下载
- spring mvc文件上传下载
- Spring MVC 文件上传下载
- 13Spring文件上传下载
- Spring MVC 文件上传下载
- spring上传下载文件
- Spring MVC 文件上传下载
- Spring Boot的POM文件
- 【JAVA-OSS】如何在spring-boot项目中使用oss上传下载文件
- 27. Remove Element
- 在dos命令行输入adb shell命令时出现错误的解决方案
- CodeForces580B
- STM32f103 定时器配置和中断处理函数
- HDU:1799 循环多少次?(组合,杨辉三角)
- spring boot文件的上传下载
- 关键概念
- IOS百度地图定位总结
- 数组篇(1):给we are happy的每一个空格加“ ”、字符串逆序:i am a student
- 模拟printf函数,//print("val:s ccccc\n","hello", 'w,'o','r','l','d'); //val:hello world(可变参数列表)
- c++第三次实验
- #leetcode#338. Counting Bits
- 高斯高通滤波器
- javaweb中如果用户没有登录,不能访问别的页面,只能访问登录页面