asp.net 迅雷下载 不显示文件大小和进度 请教各位大仙??
解决方案 »
- 简单的JQuery问题
- js中动态给控件赋值
- 水晶报表问题, 错误是“报表文件路径无效”,下面是代码
- 如何解决服务器被嵌入JS代码
- 缓存问题
- 用window.open方法打开一个aspx文件后,样式丢失?
- 急请各高手和版主帮助,一个asp.net打不开,提示:visual student.net 无法创建或打开应用程序。问题很可能是因为本地Web服务器上没有安
- access能用存储过程吗?我是初学者,书上的例子的数据库是sqlserver的。用到存储过程。
- asp.net页面缓存求清理
- textarea 自动保存文字格式
- C#/AJAX/JS/JQUERY/CSS 应有尽有,最近在整理些资料,献给大家了
- 100分求制作exe安装文件.
试试看
{
Stream iStream = null; // 缓冲区为10k
byte[] buffer = new Byte[10000]; // 文件长度
int length; // 需要读的数据长度
long dataToRead; try
{
// 打开文件
iStream = new FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.Read); // 需要读的数据长度
dataToRead = iStream.Length; HttpContext.Current.Response.ContentType = filetype;
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + Utils.UrlEncode(filename.Trim()).Replace("+", " ")); while (dataToRead > 0)
{
// 检查客户端是否还处于连接状态
if (HttpContext.Current.Response.IsClientConnected)
{
length = iStream.Read(buffer, 0, 10000);
HttpContext.Current.Response.OutputStream.Write(buffer, 0, length);
HttpContext.Current.Response.Flush();
buffer = new Byte[10000];
dataToRead = dataToRead - length;
}
else
{
// 如果不再连接则跳出死循环
dataToRead = -1;
}
}
}
catch (Exception ex)
{
HttpContext.Current.Response.Write("Error : " + ex.Message);
}
finally
{
if (iStream != null)
{
// 关闭文件
iStream.Close();
}
}
HttpContext.Current.Response.End();
}