private   void   downloadfile(string   filename)  
  {  
  string   pfilename   =   this.mapurlfile(filename);  
  fileinfo   fi   =   new   fileinfo(pfilename);  
  if   (!fi.exists)  
  return;  
  //修改后可以自动下载文件  
  //modify   by   niwz  
  //2003.12.27  
  // string   ext   =   fi.extension;  
  // httpresponse   rs   =   httpcontext.current.response;  
  // rs.clearcontent();  
  // rs.clearheaders();  
  // rs.contenttype="application/"   +   ext;  
  // rs.addheader("content-length",     fi.length.tostring());  
  // rs.addheader("content-disposition","filename="   +   httputility.urlencode(fi.name));  
  // rs.writefile(pfilename);  
  //  
  // rs.end();  
   
  response.clear();  
  response.clearheaders();  
  response.buffer   =   false;  
  response.contenttype   =   "application/octet-stream";  
  //保证下载文件名为中文  
  //response.charset   =   "gb2312";  
  response.contentencoding   =   system.text.encoding.default;  
  response.addheader("content-disposition",   "attachment;filename="+httputility.urlencode(fi.name))   ;  
  //下载文件  
  response.writefile(filename,0,fi.length);  
  response.flush();  
  //删除文件  
  fi.delete();  
  //关闭当前窗口  
  response.write("<script>window.close();</script>");  
  response.end();  
  }   
 
posted on 2007-12-28 10:18  LanceLang  阅读(3080)  评论(0)    收藏  举报
使用Live Messenger联系我
关闭