试试这个哦
private void Button1_Click(object sender, System.EventArgs e)
{
Stream iStream = null;
string FilePath="f:/clips/Test/Test2.dll";
iStream = new FileStream(FilePath,FileMode.Open,FileAccess.Read,FileShare.Read);
Response.Clear();
Response.ContentType = "application/ms-download";
string FileName="下载速度测试";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", iStream.Length.ToString());
Response.Flush();
int len=1;
while(len>0)
{
byte[] buffer=new Byte[65532];
len = iStream.Read(buffer,0,65532);
Response.OutputStream.Write(buffer,0,len);
Response.Flush();
}
}
private void Button1_Click(object sender, System.EventArgs e)
{
Stream iStream = null;
string FilePath="f:/clips/Test/Test2.dll";
iStream = new FileStream(FilePath,FileMode.Open,FileAccess.Read,FileShare.Read);
Response.Clear();
Response.ContentType = "application/ms-download";
string FileName="下载速度测试";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", iStream.Length.ToString());
Response.Flush();
int len=1;
while(len>0)
{
byte[] buffer=new Byte[65532];
len = iStream.Read(buffer,0,65532);
Response.OutputStream.Write(buffer,0,len);
Response.Flush();
}
}
解决方案 »
- dataset 相互赋值的问题
- [求助]Content控件中的控件的ID问题
- 大量图片的存储
- Microsoft JScript 运行时错误: 'this.Style' 为空或不是对象
- 分析器错误信息: 无法识别的配置节“configurationSettings”
- 如何知道当前有多少用户正在用iis?
- 怎么使网页地址变成乱码
- 数据库连接问题
- 急!如何实现一组数据用线形图形显示(方法不限)
- 如何dropdownlist下拉框弹出新窗口,网址已经邦定到DataValueField="url" DataTextField="name" .在线等待
- 页面在进行大的计算或者载入的时候需要很长时间怎么显示一个进度载如页面效果
- 比着葫芦画了个瓢却盛不水,大家给看看
{
Stream iStream = null;
string FilePath="f:/clips/Test/Test2.dll";
iStream = new FileStream(FilePath,FileMode.Open,FileAccess.Read,FileShare.Read);
Response.Clear();
Response.ContentType = "application/ms-download";// 1. 干什么用的?
string FileName="下载速度测试";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8));// 2.干什么用的?
Response.AddHeader("Content-Length", iStream.Length.ToString());//3.这个呢?
Response.Flush();//4.这个干吗要flush?
int len=1;
while(len>0)
{
byte[] buffer=new Byte[65532];
len = iStream.Read(buffer,0,65532);
Response.OutputStream.Write(buffer,0,len);
Response.Flush()//5.用了这个之后,会弹出对话框“打开或者保存到”吗?
// }
}以上有些不明白,能够解释一下吗?
还有一个问题,把某一个文件转成流之后,这个流里面有关这个文件的名字,大小等信息是否都包括进去了?如果是的话,文件存进数据库和response回来能够有有下面的思路吗?1.存进数据库:
Stream objStream = txtFileContents.PostedFile.InputStream;
//txtFileContents.PostedFile为使用浏览对话框所选择的文件
//byte[] Docbuffer = new byte[intDoclen];
//文件保存到缓存
objStream.Read(Docbuffer ,0,intDocLen);
//缓存将保存到数据库
.....
2.把文件从数据库中下载到本地机器
.....
byte[] buffer=new Byte[65532];
len = iStream.Read(buffer,0,65532);
Response.OutputStream.Write(buffer,0,len);
Response.Flush();//这个能弹出“打开或者保存到本地磁盘”对话框?
谢谢指正!!