You are on page 1of 2

byte[] buffer = new byte[1024];//��д���ĽϺ�

int len = r.Read(buffer,0,buffer.length);


while (len > 0)
{
Response.Write(buffer,0,len);
len = r.Read(buffer,0,buffer.length);
}

����һ��
if (System.IO.File.Exists(file))
{
FileStream fs = new FileStream(file, FileMode.Open,
FileAccess.Read);
Byte[] by = new Byte[fs.Length];
Response.Buffer = true;
Response.HeaderEncoding = Encoding.UTF8;
Response.ContentType = ct;
HttpContext.Current.Response.AddHeader("Content-Disposition",
"attachment;filename=" + file);
HttpContext.Current.Response.AddHeader("Content-Length",
fs.Length.ToString());
if (fs.CanRead)
{
fs.Read(by, 0, by.Length);
}
fs.Close();
Response.Clear();
Response.BinaryWrite(by);
Response.Flush();
return;

���‫���ض‬
if (File.Exists(filePath))
{

#region �ļ�����
//��Ҫ���‫��ص‬ļ�
System.IO.FileStream r = new System.IO.FileStream(filePath,
System.IO.FileMode.Open);
//���û���
Response.Buffer = false;
Response.AddHeader("Connection", "Keep-Alive");
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename=" +
System.IO.Path.GetFileName(filePath));
Response.AddHeader("Content-Length", r.Length.ToString());

while (true)
{
//���‫�����ٻ‬ռ�
byte[] buffer = new byte[1024];
//��ȡ�ļ������
int leng = r.Read(buffer, 0, 1024);
if (leng == 0)//���ļ�β������
break;
if (leng == 1024)//�s���ļ��� ��ȵ��‫�����ڻ‬ȣ�ֱ�ӽ����������д��
Response.BinaryWrite(buffer);
else
{
//�s��ļ��� Ȼ�����С�����¶��建�����С��ֻ���‫�ڶ‬ȡ�ļ������һ���� �
byte[] b = new byte[leng];
for (int i = 0; i < leng; i++)
b[i] = buffer[i];
Response.BinaryWrite(b);
}
}
r.Close();//�‫������ر‬ļ�
Response.End();//�����ļ�����
#endregion
}

You might also like