package test;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.lang.reflect.Field;
import java.net.URLEncoder;
public class ExportFile{
public void downLoad(HttpServletRequest request, HttpServletResponse response) throws IOException {
//test部分
request.setCharacterEncoding("utf-8");
String url = request.getRequestURL().toString();
System.out.println("url----------->" + url);
String uri = request.getRequestURI();
System.out.println("uri----------->" + uri);
String qs = request.getQueryString();
System.out.println("请求参数-------" + qs);
String method = request.getMethod();
System.out.println("请求方法--------" + method);
String protocol = request.getProtocol();
System.out.println("请求协议" + protocol);
String context = request.getContextPath();
System.out.println("请求站点名" + context);
//获取文件真实路径
String realPath = request.getSession().getServletContext().getRealPath("/") + File.separator + "文件路径";
File file = new File(realPath);
String filePath = file.getAbsolutePath()+File.separator+"文件名";
File manualFile = new File(filePath);
if (manualFile.exists()&&manualFile.isFile()) {
response.reset();
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Disposition", "attachment:filename= " + URLEncoder.encode("文件名", "utf-8"));
// response.setContentType("application/x-download");
//设置文件内容为Excel
response.setContentType("application/msexcel;charset=utf-8");
int fileLength = (int) manualFile.length();
response.setContentLength(fileLength);
if(fileLength>0){
InputStream is = new FileInputStream(manualFile);
OutputStream os = response.getOutputStream();
byte[] b = new byte[1024];
while (is.read(b) != -1) {
os.write(b);
os.flush();
}
is.close();
os.flush();
os.close();
}
}
}
}
IO下载文件
最新推荐文章于 2024-05-17 19:09:52 发布