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();
}
}