提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
Springboot项目使用越来越多,下载项目中指定文件需求也不少。这里分享一下下载项目中指定文件的代码!
一、下载项目中指定文件
话不多说,请看代码
二、使用步骤
1.引入库
代码如下(示例):
传入参数:
InputStream 文件流
fileName 文件名称
protected void downLoad(HttpServletResponse response,InputStream is, String fileName) throws IOException {
response.setCharacterEncoding("UTF-8");
response.setHeader("Cache-Control", "no-cache");
response.setContentType("application/x-download");
// 解决中文乱码
response.setHeader("Content-Disposition",
"attachment;filename=" + new String(fileName.getBytes("gbk"), "iso-8859-1"));
response.setHeader("filename", URLEncoder.encode(fileName, "UTF-8"));
response.setHeader("Access-Control-Expose-Headers ", "Content-Disposition,filename");
OutputStream output = null;
InputStream fis = null;
try {
output = response.getOutputStream();
fis =is;
byte[] b = new byte[1024];
int i = 0;
while ((i = fis.read(b)) > 0) {
output.write(b, 0, i);
}
output.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
fis.close();
fis = null;
}
if (output != null) {
output.close();
output = null;
}
}
2.补充文件获取方式
代码如下(示例):
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//文件路径
InputStream is = FileUtil.class.getClassLoader().getResourceAsStream("项目文件夹/项目文件.xlsx");
总结
以上就是今天要讲的内容,关于下载项目中指定文件的代码。