package com.atguigu.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import javax.servlet.http.HttpSession;
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.RequestMapping;
@Controller
public class UploadAndDown {
@RequestMapping("/down")
public ResponseEntity<byte[]> down(HttpSession session) throws Exception{
//获取下载文件的路径 (获取tomcat服务器的位置)
String realPath = session.getServletContext().getRealPath("img");
String finalPath = realPath+ File.separator +"1.jpg";
//创建字节输入流
InputStream in = new FileInputStream(finalPath);
//available():获取输入流所读取的文件的最大字节数
byte[] body = new byte[in.available()];
//把字节读取到数组中
in.read(body);
//设置请求头
MultiValueMap<String, String> headers = new HttpHeaders();
headers.add("Content-Disposition", "attachment;filename=aaa.jpg");
//设置响应状态
HttpStatus statusCode = HttpStatus.OK;
in.close();
ResponseEntity<byte[]> entity = new ResponseEntity<byte[]>(body, headers, statusCode);
return entity;
}
}