需求: 在数据库中有一个表,我需要将这个表的某些字段的数据以文件的形式下载给用户
.如: 数据库中有一个表 user_info 里面有 name 和 age两个字段
现在有两条数据 1. zhangsan 18 2. 李四 19用户在web访问的时候,点击一个按钮 ,弹出下载的提示,然后将文件保存在本地. 文件内
容是从这个表中查出来的 如 张三 年龄是18, 李四年龄是19...这样的程序应该这么做呢?我原来做过是生成的是文件在本地(但是现在是用web访问,文件
要在客户端保存), 或者生成了数据以blob的形式保存在数据库中,然后下载.但是现在要求是,不能以blob的形式保存在数据库中.大家给个建议 ~~谢谢了.
.如: 数据库中有一个表 user_info 里面有 name 和 age两个字段
现在有两条数据 1. zhangsan 18 2. 李四 19用户在web访问的时候,点击一个按钮 ,弹出下载的提示,然后将文件保存在本地. 文件内
容是从这个表中查出来的 如 张三 年龄是18, 李四年龄是19...这样的程序应该这么做呢?我原来做过是生成的是文件在本地(但是现在是用web访问,文件
要在客户端保存), 或者生成了数据以blob的形式保存在数据库中,然后下载.但是现在要求是,不能以blob的形式保存在数据库中.大家给个建议 ~~谢谢了.
import wuhuif.io.*;
import wuhuif.util.*;
import javax.servlet.*;
import javax.servlet.http.*;public class Download extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
try
{
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=\"你要在保存窗口中显示的保存文件名\"");
ServletOutputStream out = response.getOutputStream();
BufferedReader br=new BufferedReader(new FileReader(要下载的的文件名));
String line=br.readLine();
while (line!=null)
{
out.write(line.getBytes());
out.println();
line=br.readLine();
}
out.close();
br.close();
}
catch (Exception e)
{
System.out.println(e);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doGet(request, response);
}
}
response.setContentType("application/vnd.ms-excel");
这样是下载为excel文件