我的程序中要自动生成文件下载,但下载以中文文件名会在下载确认窗体上显示乱码,英文文件名就不会,不知道如何解决,望高手指点。Response.Clear();
Response.BufferOutput=true;
Response.Charset="utf-8";//用“GB2312”也不行
Response.AppendHeader("Content-Disposition","attachment;filename=测试.xls");
Response.ContentType = "application/vnd.ms-excel";
FileInfo mf=new FileInfo(sFile);
FileStream fs=mf.OpenRead();
Response.WriteFile(fs.Handle,0,mf.Length);
fs.Close();另请教,我这里的文件是程序自动生成的,不存盘有没有办法能直接从内存中发送到客户端以附件下载??
Response.BufferOutput=true;
Response.Charset="utf-8";//用“GB2312”也不行
Response.AppendHeader("Content-Disposition","attachment;filename=测试.xls");
Response.ContentType = "application/vnd.ms-excel";
FileInfo mf=new FileInfo(sFile);
FileStream fs=mf.OpenRead();
Response.WriteFile(fs.Handle,0,mf.Length);
fs.Close();另请教,我这里的文件是程序自动生成的,不存盘有没有办法能直接从内存中发送到客户端以附件下载??
解决方案 »
- (急)ajax显示日期的问题,HELP………………
- FileUpload控件刷新时,路径丢失。
- asp.net的上传代码运行错误,使用FileUpload上传文件,结果出现对路径“F:\项目\tazhispc\xinjizhong\excel”的访问被拒绝。
- 怎样判断是哪个控件调用的下一个页面?
- 问个超连接下载文件的问题,急
- 高分求数据库操作类(查询、更新、事务等),共同提高。分不够可载开贴!
- AspNetPager翻页但无数据显示
- 私有字段加上属性实现其透明,那为什么不直接用public啊
- 用jquery做一个TextBox1离开焦点合计功能如何做
- 在datagrid中,如何控制显示字段内容的字符数?
- 求asp.net 2.0 图形工作流软件
- 用javascript 控制listbox时,提交服务器时出错
再试试看。
再试试看。
--------------------------------------这个试过,不行
Response.Charset="GB-2312";
Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(filename+".xls"));
Response.ContentEncoding=System.Text.Encoding.UTF7;
Response.ContentType="application/ms-excel";
Dat_Xianshi.Page.EnableViewState=false;
System.IO.StringWriter tw=new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw=new HtmlTextWriter(tw);
Dat_Xianshi.RenderControl(hw);
Response.Write(""+tw.ToString()+"");
Response.End();
Response.Buffer = true;
Response.Charset = "GB2312";
this.EnableViewState = false; //定义输入流 System.IO.StringWriter writer = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter txtwriter = new HtmlTextWriter(writer);
//将DataGrid中的内容输出到txtwriter流中
this.dgList.RenderControl(txtwriter); //作为附件输出,filename=ReqExcel.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc|.xls|.txt|.htm
Response.ContentType = "application/ms-excel"; //ContentType指定文件类型 可以为application/ms-excel
//application/ms-word | application/ms-txt | application/ms-html 或其他浏览器可直接支持文档 Response.AppendHeader("Content-Disposition", "attachment;filename=xxx.xls"); //下载
//Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");
Response.Write(writer); Response.End();
我的e-mail:[email protected],欢迎与我交流。
response.Buffer = true;
response.Charset = "utf-8";
response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
response.ContentType = "application/ms-excel";
Response.Clear()
Response.Charset = "GB2312"
Response.ContentEncoding = System.Text.Encoding.UTF8
' 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachment filename=" + Server.UrlEncode("name.htm"))
' 添加头信息,指定文件大小,让浏览器能够显示下载进度
Response.AddHeader("Content-Length", file.Length.ToString())' 默认为text/html方式
Response.ContentType = "application/ms-html"Response.Write(strContent)strContent为字符串变量,内容为一个完整的Html文件。
运行后发现将保存的内容包含当前ASPX页面内容,及Html内容+当前ASPX页面内容。
而用Response.WriteFile(file)替换Response.Write(strContent)后一切正常。