直接出现下载保存提示框 出现问题
string path = Server.MapPath(this.xlfile.Text+".xls");
System.IO.FileInfo file = new System.IO.FileInfo(path);
Response.Clear();
Response.Charset="GB2312";
Response.ContentEncoding=System.Text.Encoding.UTF8;
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
Response.AddHeader("Content-Length", file.Length.ToString());
// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "application/ms-excel";
// 把文件流发送到客户端
Response.WriteFile(file.FullName);
// 停止页面的执行
Response.End();
用上面方法
为什么出现下载提示后 点保存 又出现了另一个下载提示 说下载这个页面 例如我的页面
叫1.aspx 它提示说下载1.aspx.htm
问题点数:60、回复次数:6Top
1 楼kevin911(疯了疯了)回复于 2004-09-02 10:59:20 得分 3
我在XP下没有问题Top
2 楼kevin911(疯了疯了)回复于 2004-09-02 11:00:08 得分 5
前提,我是做了一个download.aspx页面,并在LOAD方法中调用上述代码的Top
3 楼jony413(jony)回复于 2004-09-02 11:06:31 得分 40
用这个试试,我用过行的:
private void SaveAsBtn_Click(object sender, System.EventArgs e) {
string tmpLogFile=Server.MapPath("Log/tmpLog.log");
this.SaveLogTo(tmpLogFile);//save log to a temp file 'tmpLog.txt'
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType="text/plain";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.AddHeader("Content-Disposition","attachment;filename=Untitle.log");
Response.WriteFile(tmpLogFile);
Response.Flush();
Response.Close();
}
Top
4 楼Proyang(小过)回复于 2004-09-02 11:20:00 得分 2
去掉:Response.AddHeader("Content-Length", file.Length.ToString());
Top
5 楼goody9807(http://goody9807.cnblogs.com)回复于 2004-09-02 11:37:31 得分 10
我式了一下从客户端访问我机器 可以下载 从本机就不行Top
6 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2004-09-02 11:41:36 得分 0
这个我看见三个人问了,就在这两页,你搜索Top




