为了对用户的权限进行控制等原因,下在文件的时候一般不直接给出文件连接,而是在后台代码中使用Response进行输出。对于一般的文件可以使用:
来输出文件。Response.WriteFile()方法,将会把整个文件载入内存,再输出。所以当文件大小在200M以上的时候(根据服务器配置有所差别)很容易出现下载失败,但我们可以时候:
如果你是用的是.net 2.0就更简单:
Response.Clear();
Response.WriteFile(_FilePath);
Response.End();
来输出文件。Response.WriteFile()方法,将会把整个文件载入内存,再输出。所以当文件大小在200M以上的时候(根据服务器配置有所差别)很容易出现下载失败,但我们可以时候:
Response.Clear();
int bufSize = 1000;
byte[] buf = new byte[bufSize];
FileStream fs = new FileStream(_filePath);
int len = fs.Length;
while (len > 0)
{
int lenRead = fs.Read(buf, 0, bufSize);
Response.OutputStream.Write(buf, 0, lenRead);
Response.Flush();
len = len - lenRead;
}
fs.Close();
Response.Close();
如果你是用的是.net 2.0就更简单:
Response.Clear();
Response.TransmitFile(path);
Response.End();
Comments