67,512
社区成员
发帖
与我相关
我的任务
分享
filename = rs.getString("filename").trim();
filesize = rs.getInt("filesize");
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition", "attachment; filename=\"" + new String(filename.getBytes("gb2312"), "ISO8859-1") + "\";");
// //attachment --- 作为附件下载
response.addIntHeader("Content-Length", filesize);
byte[] fileBuffer = new byte[filesize];
InputStream iStream = rs.getBinaryStream("gdata");
iStream.read(fileBuffer, 0, filesize);
ServletOutputStream out = response.getOutputStream();
out.write(fileBuffer);
out.flush();
out.close();
我有个小下载功能是这样做的,文件是保存在数据库里的,当然之前我做测试的时候是放在本地的,都没有问题,部署了也可以,在ff和ie8,9下都没问题 String fileName = result.getString("path");
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=\""+ fileName + "\"");
ServletOutputStream sos = response.getOutputStream();
// PrintWriter writer = response.getWriter();
BufferedInputStream fin = new BufferedInputStream(new FileInputStream(fileName));
byte[] content = new byte[1024];
int length;
while ((length = fin.read(content, 0, content.length)) != -1) {
sos.write(content, 0, length);
}
fin.close();
sos.flush();
sos.close();
但是现在我的前台都不弹出下载框,怎么弄啊
你的前台是怎么做的?