首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

servlet 文件上载

2012-12-14 
servlet 文件下载Servlet文件下载文件下载本质是流的复制输出。比较重要的两点是文件名的乱码问题和断点续

servlet 文件下载


Servlet文件下载


文件下载本质是流的复制输出。比较重要的两点是文件名的乱码问题和断点续传问题。


servlet代码:


             //File dfiled = new File(getServletContext().getRealPath("/down")+"shell.rar");//得到输入流FileInputStream in = new FileInputStream(dfile);//获取文件名字,并对其进行编码,如果不这样会出现中文乱码。至少用这种方式我暂时还没有出现过乱码String filename = dfile.getName();filename = new String(filename.getBytes(),"iso8859-1");//通过response对象获得输出流OutputStream out = response.getOutputStream();//response.setContentType("Application/Octet-stream;charset=utf-8");// 下载文件的名字通过这里设置response.addHeader("Content-Disposition", "attachment; filename="+filename);    // 下面两句代码功能应该是一样的,都写上去会有异常,说重复设置响应头。// 但是只写第二句的时候用迅雷无法下载。而只写第一句文件可以下载,麻烦知道的朋友可以告诉我一下response.setContentLength((int) dfile.length());////response.addHeader("Content-Length::", dfile.length() + "");// 下面是一个普通的流的复制 。。。忽略byte[] bs =new byte[1024];int len = 0;while((len =in.read(bs))!=-1){out.write(bs);}// 最后是流的关闭。out.close();in.close();



有一点不了解的就是,我还没有实现断点续传,为什么用迅雷暂停后还可以继续下载?

热点排行