小议jsp页面中的下载功能

发布日期:2003-12-09作者:axman阅读人次:10477
 
如果只是下在某个文件的话,直接用超连接就可以搞定但是用超链不安全,谁都可以访问,用程序当然好,可是把WEB不能访问的目录的文件下载给经过认证的访问者.

前面我写过一个把图片从数据库取出来推向页面的例子.
你只要把从数据库取的数据源改成从一个文件读到的数据源,然后把文档头

"image/gif"
改成"application/x-msdownload"就可以把一个向浏览器输出一个文件了.


File t_file = new java.io.File(sourceFilePathName);
long l = t_file.length(); //文件长度
InputStream in = new FileInputStream (t_file); 
if(in != null)

String fs = t_file.getName();
response.reset();
response.setContentType("application/x-msdownload"); //
String s = "attachment; filename="+fs; //
response.setHeader("Content-Disposition", s); //以上输出文件元信息
response.setContentLength((int)l); //设置输入文件长度
byte[] b = new byte[2048]; 
int len = 0; 
while({len=in.read(b)) >0); 
{
response.getOutputStream().write(b,0,len); //向浏览器输出

in.close(); //关闭文件输入流
}
 
整理发布:独孤求胜 umbrella
阅读更多
想对作者说点什么?
相关热词

博主推荐

换一批

没有更多推荐了,返回首页