在serverlet中实现如下方法
HttpServletResponse v_resp = ((HttpServletResponse) arg1);
String v_serverName = arg0.getParameter("data");
if (v_serverName != null && !v_serverName.trim().isEmpty()) {
if (true)
{
String v_filename = v_serverName;
try {
String v_path = PlatformManager.getInstance().getBaseDir()
+ "report" + File.separator;
File v_f = new File(v_path + v_filename);
if (!v_f.exists() || v_f.isDirectory()) {
writeLog("获取报表不存在:[" + v_filename + "]",
"");
v_resp.setStatus(404);
return;
}
if (v_f.length() < Integer.MAX_VALUE) {
// 迅雷下载的话必须设置这个参数
v_resp.setContentLength((int) v_f.length());
}
v_resp.setContentType("text/html");
v_resp.setHeader("Content-disposition",
"attachment; filename=" + v_filename);
ServletOutputStream v_out = v_resp.getOutputStream();
FileInputStream v_fis = new FileInputStream(v_f);
int v_temp = 0;
byte[] v_buffer = new byte[10240];
ByteArrayOutputStream v_bos = new ByteArrayOutputStream();
while ((v_temp = v_fis.read(v_buffer)) >= 0) {
v_bos.write(v_buffer, 0, v_temp);
}
v_out.write(v_bos.toByteArray());
v_out.flush();
v_resp.flushBuffer();
v_bos.close();
v_fis.close();
return;
} catch (Exception e) {
writeLog("下载文件异常:[" + v_filename + "],MSG="+e.getMessage(), "");
v_resp.setStatus(404);
return ;
}
}
}
//本段代码关键部分:
v_resp.setContentLength((int) v_f.length());要使用迅雷下载需设置文件大小,这个地方由于传入参数是Int,大概支持2G左右的文件下载。使用360可以不设置此参数。
v_resp.setContentType("text/html");设置文件传输类型,这个参数随便写就是了,只要下面这个参数对了,就可以了。
v_resp.setHeader("Content-disposition",
"attachment; filename=" + v_filename);
。
当使用360下载工具下载的时候,360有点扯蛋,当你在360浏览器输入你要下载的东西时,还没有等到你点击下载,360就会去请求数据,下载到本地内存中,然后你点击下载,360将内存中的数据写到文件中。这个就是360的杰作。
分享到:
相关推荐
java serverlet实例 在学习serverlet的同学可以下载下来看看
java serverlet实例 用于课堂演示或练习用
jsp&serverlet api开发文档
本程序使用MySQL+JavaBean+serverlet+tomcat6.0 用myeclipse实现
jsp +serverLET+JAVABEAN 学习文件,如果觉的可以就下载吧。
Java_tomcat_和serverlet的使用
JSP和Serverlet之间的传值方法。JSP和Serverlet之间的传值方法。
网络基础,serverlet的相关题目,对于基础学习很有帮助哦
javaWeb系列之serverlet最简单登陆代码,初学者的利器。相关还有Struts1.3最简单登陆代码,Hibernate最简单登陆代码,Struts2最简单登陆代码.
用jsp+serverlet实现文件的上传
serverlet Json commons-beanutils-1.7.0.jar commons-collections-3.2 .jar commons-lang-2.4.jar commons-logging.jar ezmorph-1.0.6.jar json-lib-2.2.3-jdk15.jar xmlns=...
jsp+serverlet+oracle的网上订餐系统,适合初学者学习用。可作为一个阶段项目对所学知识点进行一个系统的复习,从而提高综合运用能力
关于动态网页技术Ajax的开发与应用以及web网页开发Servlet原理及应用。帮助理解Ajax和Serverlet
适合大学生期末考试复习的JSP/Serverlet复习资料
Flex在myeclipse下如何配置以及用serverlet的交互
这是一份基于javaweb+jsp+serverlet开发的图书管理系统
ajax 二级下拉框ajax 实现二级下拉框,地址联动,xmlHttp,serverlet,java,ajax 实现二级下拉框,地址联动,xmlHttp,serverlet,java,
这是我接着上次传的jsp视频,都是来子培训班的东西; 先传2集;有人下载了我传剩下的要不也没什么用
JSP serverlet 增删查改JSP serverlet 增删查改JSP serverlet 增删查改JSP serverlet 增删查改JSP serverlet 增删查改JSP serverlet 增删查改JSP serverlet 增删查改JSP serverlet 增删查改JSP serverlet 增删查改
JSP+Serlet+JNDI实现酒店管理系统,真个项目系统源码及数据库分离出来打包下载,Tomcat6.0服务器下测试运行成功。