b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

serverlet_serverlet配置_jsp serverlet

电脑杂谈  发布时间:2016-12-29 22:00:55  来源:网络整理

serverlet配置_jsp serverlet_serverlet

serverlet

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左右的文件下载。serverlet使用360可以不设置此参数。

v_resp.setContentType("text/html");设置文件传输类型,这个参数随便写就是了,只要下面这个参数对了,就可以了。

v_resp.setHeader("Content-disposition",

"attachment; filename=" + v_filename);

当使用360下载工具下载的时候,360有点扯蛋,当你在360浏览器输入你要下载的东西时,还没有等到你点击下载,360就会去请求数据,下载到本地内存中,然后你点击下载,360将内存中的数据写到文件中。这个就是360的杰作。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23862-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...