浏览器下载文件时,有个打开,有个保存,java或者js能通过代码调用么? 怎么操作
IE好像就是这样,jquery里面没遇到过。
js设置location跳转到你要下载的文件地址就好了
location='要下载的文件地址'
如果你的文件是文本文件,图片这种浏览器能解析的,你需要动态设置content-disposition为attachment,然后输出文件才能弹出保存文件对话框,要不是直接显示在浏览器里面的,具体看下面的链接
http://www.qianshoublog.com/post/4837.html
假设页面上有个url,url请求到一个servlet(servlet处理请求生成文件),可以把响应的contentType设置成application/octet-stream,客户端就可以弹出下载页面了;
具体测试:先写个servlet:
代码:public class DemoServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.err.println("------------------request come in--------");
String str = "zhangwenboDemoDownload";
resp.setContentType("application/octet-stream");
resp.setCharacterEncoding("UTF-8");
//设置文件的名字
resp.addHeader("Content-Disposition", "attachment; filename=zwb.txt");
PrintWriter writer = resp.getWriter();
writer.write(str);
writer.flush();
}
}
就可以打开了
如果没有加url过滤的话,直接访问文件地址就可以了,文件类型好像跟浏览器有关呢~~