jsp 图片下载功能

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放在同一个目录,就可以用了。








  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值