我只写了一个方法,可以实现下载,方法如下:
public void Download(string path)
{
System.IO.Stream iStream ;
byte[] buffer = new byte[10000];
int length;
long datatoread;
string filepath = path;
string filename = System.IO.Path.GetFileName(path);
iStream = new System.IO.FileStream(filepath,System.IO.FileMode.Open,System.IO.FileAccess.Read,System.IO.FileShare.Read);
datatoread = iStream.Length;
Response.Clear();
Response.ContentType = "application/zip";
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
while(datatoread>0)
{
// Verify that the client is connected.
if (Response.IsClientConnected)
{
// Read the data in buffer.
length = iStream.Read(buffer, 0, 10000);
// Write the data to the current output stream.
Response.OutputStream.Write(buffer, 0, length);
// Flush the data to the HTML output.
Response.Flush();
buffer= new Byte[10000];
datatoread = datatoread - length;
}
else
{
//prevent infinite loop if user disconnects
datatoread = -1;
}
}
}