page.html部分html代码
<a href="#" onClick='SaveToLocal()'>temp.txt</a>
<iframe id="ModifyCameraForm" name="ModifyCameraForm" src="about:blank" style="display:none;" width="1" height="1"></iframe>
js代码:
function SaveToLocal() { //var src = "bigpicurl.jsp?path=http://172.12.52.2:8080/demohttp/images/1.jpg"; var src = "bigpicurl.jsp?path=http://172.12.52.2:8080/demohttp/temp.txt"; document.getElementById("ModifyCameraForm").src = src; }
bigpicurl.jsp页面:
<%@ page contentType="text/html; charset=gb2312"%> <%@ page language="java" import="java.io.IOException,java.io.FileOutputStream,java.io.File,java.io.InputStream,java.net.URL,java.net.URLConnection,java.io.OutputStream" pageEncoding="gb2312"%> <html> <head> <title>Index</title> </head> <body> <% //request.setCharacterEncoding("gb2312"); String path = request.getParameter("path"); //ftp路径url// path = new String(path.getBytes("iso-8859-1"),"UTF-8"); response.setHeader("Content-Disposition", "attachment; filename=1.txt;"); //modify20100303 String strUrl = path; URLConnection uc = null; System.out.println(strUrl); try { URL url = new URL(strUrl); uc = url.openConnection(); uc.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows XP; DigExt)"); //uc.setReadTimeout(30000); //获取图片长度 //System.out.println("Content-Length: "+uc.getContentLength()); //获取文件头信息 //System.out.println("Header"+uc.getHeaderFields().toString()); // if (uc == null) // return 0; InputStream ins = uc.getInputStream(); byte[] str_b = new byte[1024]; int byteRead=0; String[] images=strUrl.split("/"); String imagename=images[images.length-1]; OutputStream fos = response.getOutputStream(); while ((byteRead=ins.read(str_b)) > 0) { fos.write(str_b,0,byteRead); }; fos.flush(); fos.close(); } catch (Exception e) { e.printStackTrace(); //log.error("获取网页内容出错"); }finally{ uc = null; } %>[/code] 原来是下图片的,现在给你下个1.txt也是好用的。我试过了。 注意:目录结构为demohttp/temp.txt。即把page.html,temp.txt,bigpicurl.jsp放在同一个目录,就可以用了。