欢迎注册会员!在线投稿,发布笑话,分享快乐!
返回首页您现在的位置: 幽默笑话网 > 人生哲理 > 文章内容

java/servlet 断点下载

作者: 幽默笑话网 来源: www.ymxhw.com 时间: 2014-02-14 阅读: 在线投稿

//被下载文件路径名称 String path = "D:\\TDDownload\\system\\",fileName="cn_windows_8_1_pro_vl_x86_dvd_2972620.iso"; File file = new File(path+fileName); InputStream in = new FileInputStream(file); OutputStream os= resp.getOutputStream(); //清空response 缓存中数据,仅保留状态码及Header resp.reset(); byte [] buffer = new byte [128]; long downloaded=0; String range = req.getHeader("range"); if(range != null){ downloaded = Long.parseLong(range.split("-")[0].split("=")[1]); //设置 206状态表示可以断点下载 resp.setStatus(206); //设置下载的范围 resp.setHeader("Content-Range","bytes "+downloaded+"-"+file.length()+"/"+file.length()); } resp.setContentType("application/octet-stream"); //文件名 resp.addHeader("Content-Disposition", "attachment; filename="+new String(fileName.getBytes())); //文件大小 resp.addHeader("Content-Length", file.length() + ""); //接受范围 bytes resp.setHeader("Accept-Ranges", "bytes"); int len = 0; while ((len=in.read(buffer))!=-1){ os.write(buffer,0,len); } in.close(); os.flush(); os.close();

  • 上一篇:罗兰女士95岁华诞 作品研讨会将在津举行
  • 下一篇:人生需要看透 但不能看破
  • 相关阅读

    发表笑话