一、文件下载
- 代码
DownloadController.javapackage com; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import java.io.FileInputStream; import java.io.FileNotFoundException; @Controller public class DownloadController { @RequestMapping("/download") public ResponseEntity<byte[]> download(HttpServletRequest request) throws Exception { ServletContext servletContext = request.getServletContext(); String realPath = servletContext.getRealPath("/script/test.txt"); FileInputStream fileInputStream = new FileInputStream(realPath); byte[] bytes = new byte[fileInputStream.available()]; fileInputStream.read(bytes); fileInputStream.close(); //将要下载文件内容返回 HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.set("Content-Disposition","attachment;filename=test.txt"); return new ResponseEntity<byte[]>(bytes,httpHeaders,HttpStatus.OK); } }
二、文件下载
- 添加依赖pom.xml
<!-- https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version> </dependency>
- applicationContext.xml
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"></property> <property name="maxUploadSize" value="1024000"></property> </bean>
- UploadController.java
package com; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.io.InputStream; @Controller public class UploadHandler { @RequestMapping(value = "/testUpload", method = RequestMethod.POST) public String testUpload(@RequestParam(value = "desc", required = false) String desc, @RequestParam("file") MultipartFile multipartFile) throws IOException { System.out.println("desc : " + desc); System.out.println("OriginalFilename : " + multipartFile.getOriginalFilename()); multipartFile.transferTo(new File("D:\\file\\"+multipartFile.getOriginalFilename())); return "success"; } }