怎么样控制下载?可以控制下载的大小,例如一次只准下载50k等等,请各位大虾指教!

Noth_wind 2003-01-08 11:19:53
怎么样控制下载?可以控制下载的大小,例如一次只准下载50k、一个用户名或者ip一天最多只能下载多少次、等等,第一次在这里发言,请各位大虾指教!
...全文
36 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Noth_wind 2003-01-08
  • 打赏
  • 举报
回复
wsj大哥,能给我一个一个小例子吗?或者再详细一些,我还没有用过jsp,刚准备学,对流还不太了解。
wsj 2003-01-08
  • 打赏
  • 举报
回复
不让用户直接下载
在server端读文件,然后把读入了流返回给用户,这样就可以在中间控制了
Noth_wind 2003-01-08
  • 打赏
  • 举报
回复
多谢wsj大哥,多谢!
我考下来好好研究研究.
wsj 2003-01-08
  • 打赏
  • 举报
回复
写个大概servlet程序骨干给你

...
long totalsize=0;
Fime f=new File("xxx.pdf");
long filelength=f.length();
byte[] b=new byte[1024];
FileInputStream fin=new FileInputStream(f);
DataInputStream in=new DataInputStream(fin);
res.setHeader("Content-disposition",
"attachement;filename=" +
"xxx.pdf");
res.setContentType("application/pdf");
String filesize=Long.toString(filelength);
res.setHeader("Content-Length", filesize);
ServletOutputStream servletOut = res.getOutputSteam();
while(totalzie<filelength){
totalsize+=1024;
if(totalsize>filelength){
byte leftpart=new byte[1024-(int)totalsize-filelength)];
in.readFully(leftpart);
servletOut.write(leftpart);
}
else{
in.readFully(b);
servletOut.write(b);
}
}
servletOut.close();

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧