应用包为:
import
javax.servlet.http.HttpServletRequest;
import
org.apache.commons.io.FileUtils;
import
org.springframework.http.HttpHeaders;
import
org.springframework.http.HttpStatus;
import
org.springframework.http.MediaType;
import
org.springframework.http.ResponseEntity;
import
org.springframework.ui.Model;
import
org.springframework.web.bind.annotation.RequestMapping;
下载功能方法
@RequestMapping
(value=
"/download"
)
public
ResponseEntity<
byte
[]> download(HttpServletRequest
request
,
Model
model
)
throws
Exception {
//下载文件路径
String
path
=
request
.getServletContext().getRealPath(
"/WEB-INF/resource/upload/"
);
System.
out
.println(
"path:"
+
path
);
File
file
=
new
File(
path
+ File.
separator
+
"test.txt"
);
System.
out
.println(
file
.toString());
HttpHeaders
headers
=
new
HttpHeaders();
//下载显示的文件名,解决中文名称乱码问题
String
downloadFielName
=
new
String(
"test.txt"
.getBytes(
"UTF-8"
),
"iso-8859-1"
);
//通知浏览器以attachment(下载方式)打开图片
headers
.setContentDispositionFormData(
"attachment"
,
downloadFielName
);
//application/
octet
-stream : 二进制流数据(最常见的文件下载)。
headers
.setContentType(MediaType.
APPLICATION_OCTET_STREAM
);
return
new
ResponseEntity<
byte
[]>(FileUtils.
readFileToByteArray
(
file
),
headers
, HttpStatus.
CREATED
);
}