1、java代码
package com.gdpost.gdmgr.controller;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.gdpost.gdmgr.common.RequestResponseUtils;
@Controller
@RequestMapping("/exportController")
public class SynSalesController {
@RequestMapping("/download.do")
@ResponseBody
public void testDownload() {
HttpServletResponse res=RequestResponseUtils.getResponse();
res.setHeader("content-type", "text/plain");//根据文件类型,可修改
res.setHeader("content-type", "application/x-msdownload;");
res.setContentType("text/plain; charset=utf-8");
res.setHeader("Content-Disposition", "attachment; filename=test.txt");
byte[] buff = new byte[1024];
BufferedInputStream bis = null;
OutputStream os = null;
try {
os = res.getOutputStream();
//固定的文件存放目录
StringBuilder path = new StringBuilder("//file//test.txt");
bis = new BufferedInputStream(new FileInputStream(new File(path.toString())));
int i = bis.read(buff);
while (i != -1) {
os.write(buff, 0, buff.length);
os.flush();
i = bis.read(buff);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
2、前端Jquery代码
<script>
function downloadFile(){
var serviceUrl = '${pageContext.request.contextPath}';
serviceUrl=serviceUrl + '/exportController/download.do';
window.open(serviceUrl);
}
</script>
2、前端html代码
<a href="" onclick="downloadFile()">文件下载</a>