博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小议jsp页面中的下载功能(转)
阅读量:2451 次
发布时间:2019-05-10

本文共 907 字,大约阅读时间需要 3 分钟。

小议jsp页面中的下载功能(转)[@more@]

如果只是下在某个文件的话,直接用超连接就可以搞定但是用超链不安全,谁都可以访问,用程序当然好,可是把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(); //关闭文件输入流

}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8225414/viewspace-946014/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8225414/viewspace-946014/

你可能感兴趣的文章
node压缩css_Node.js CSS压缩器:clean-css
查看>>
JavaScript CSS助手
查看>>
邪恶的AJAX:使用jQuery的Spyjax
查看>>
css指针悬停_CSS指针事件
查看>>
目标检测 多分辨率检测_检测视频分辨率
查看>>
ip校验和 tcp校验和_如何校验和
查看>>
pandora nohup_如何更好地训练您的Pandora广播电台
查看>>
显示器选三星还是飞利浦_如何为飞利浦色相灯设置计时器
查看>>
vm macos 启用3d_如何在macOS中启用夜班以减轻眼睛疲劳
查看>>
白色裤子为什么会沾上蓝色_什么是蓝色的,为什么它可以在Mac上运行?
查看>>
apple默认备份位置_如何将Apple Maps默认设置为步行路线
查看>>
固件中启用的虚拟化否_哪些固件或硬件机制可启用强制关机?
查看>>
如何还原桌面图标_如何为Windows 10桌面图标还原或更改文本的默认外观?
查看>>
ios numlock_从“提示”框:默认情况下启用NumLock,无广告的iOS应用和立体声供电的派对灯...
查看>>
询问HTG:白噪声屏幕保护程序,有效的文件命名以及从密码泄露中恢复
查看>>
dropbox文件_Dropbox即将发布的扩展程序更新将添加更多文件编辑支持,包括Pixlr照片...
查看>>
google hdr+_更好的隐私权控制使Google+死了
查看>>
网络串流_串流NBA篮球的最便宜方式(无需电缆)
查看>>
reddit_如何将多个子Reddit与多个Reddit合并
查看>>
如何在iPhone或iPad上使用Safari下载文件
查看>>