用户下载页面

添加人:guorui1314零级(46分)   添加时间:2008-05-26    阅读次数:550  收藏此教程

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MengXHFileDownLoad;
using System.IO;
public partial class download : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (""==Request["filename"])
   {
    Response.End();
   }
   if (""==Request["filePath"])
   {
    Response.End();
   }
   string FileName=Request["filename"].ToString();
   string filePath=Request["filePath"].ToString();
            Response.Clear();
   Response.Buffer=true;
   Response.ContentEncoding =System.Text.Encoding.GetEncoding("gb2312");

   
   switch (Request["filetype"] )
   {
    case "PDF":
     Response.ContentType = "application/PDF";
     break;
    default :  
     //Response.ContentType = "APPLICATION/OCTET-STREAM";
     Response.ContentType = "APPLICATION/x-msdownload";
     
     Response.AddHeader( "Content-Disposition","attachment;filename=\"" +HttpUtility.UrlEncode(FileName) + "\"");
     break;
   }
   //Response.Charset="GB2312";
    
  //Response.BinaryWrite(getBinaryFile(filePath  + FileName));
   BinReadFromFile oMyObject=new BinReadFromFile();
   Response.BinaryWrite((byte[])oMyObject.readBinFromFile(filePath));
   Response.End();
  }
  
  public byte[] getBinaryFile(string filename)
  {
   if(File.Exists(filename))
   {
    try
    {
     ///打开现有文件以进行读取。
     FileStream oFileStream = File.OpenRead(filename);
     byte[] fileBuffer=ConvertStreamToByteBuffer(oFileStream);
     oFileStream.Close();
     return fileBuffer;
    }
    catch(Exception e)
    {
     
     return new byte[0];
    }
   }
   else
   {
    return new byte[0];
   }
  }
   
  public byte[] ConvertStreamToByteBuffer(System.IO.Stream theStream)
  {
   int b1;
   System.IO.MemoryStream tempStream = new System.IO.MemoryStream();
   while((b1=theStream.ReadByte())!=-1)
   {
    tempStream.WriteByte(((byte)b1));
   }
   return tempStream.ToArray();
  }
    }

1页 第1上一页1下一页
相关的教程: 用户下载页面
收藏此教程

当前平均分: -2.4(8 次打分)

-5-4-3-2-1012345
评论主题
您的大名
您的评论
验证码 点击换一个验证码
知识库搜索: