免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 919 | 回复: 0
打印 上一主题 下一主题

用Servlet实现下载 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-24 18:56 |只看该作者 |倒序浏览
以前不太重视Servlet,觉得servlet能够实现的功能,jsp都能实现,这一阶段猛学servlet,很有感触,正好一网友法帖求助,怎样用servlet实现下载。我就贴一篇吧,以供大家参考(主要的Servlet,关联文件没有贴出):
/*
* DownLoad.java
*/
package com.zy.oa.util;
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.*;
/**
*  实现下载功能
*/
public class DownLoad {
   
    public void downLoad(HttpServletResponse response, String headName, String fileUrl) throws Exception{
        
        Logger.log(begin download  + headName);        
        if (headName.endsWith(.jpg) || (headName.endsWith(.gif))) {
            //no need setting content type and header
        } else if (headName.endsWith(.txt)) {
            response.setContentType( text;charset=GB2312);
            response.setHeader(Content-disposition,  
                              attachment; filename= + headName );
        } else {
            response.setContentType( application/doc;charset=GB2312);
            response.setHeader(Content-disposition,  
                              attachment; filename= + headName );
        }
        String fileURL = fileUrl;
        Logger.log(fileURL);
        if(fileURL == null)
            return;
        
        try{
            File file = new File(fileUrl);            
            FileInputStream bis = new FileInputStream(file);            
            OutputStream bos = response.getOutputStream();
            byte[] buff = new byte[1024];
            int readCount = 0;
            int i = 0;
            readCount = bis.read(buff);
            while (readCount != -1){
               bos.write(buff, 0, readCount);
               readCount = bis.read(buff);
            }
            Logger.log(read finished!);
            if (bis!=null)
                bis.close();            
            if (bos!=null)
                bos.close();
        }catch(Exception e){
           e.printStackTrace();           
           throw e;
        }
    }
   
}

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/884/showart_90418.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP