1.客户机用IE连到服务器上去下载文件(有个aspx页面,上面放文件的链接),文件放在服务器硬盘上,不是数据库
2.有些机子可以下载,完全没问题,
3.有些机子下载某些文件时会出错,变成下载当前的aspx页面,而下载另外一些没错
4.机子环境一致,同样的win2000 sp4 + IE6.0SP1,不装任何IE插件
5.下载代码: FileStream fileStream=new FileStream(sFileUpLoadPath+dl_SupportFile.SelectedValue,FileMode.Open);
long fileSize = fileStream.Length;
Context.Response.ContentType="application/octet-stream";
Context.Response.AddHeader("Content-Disposition","attachment; filename=\"" + HttpUtility.UrlEncode(dl_SupportFile.SelectedItem.Text,System.Text.Encoding.UTF8) + "\"");
Context.Response.AddHeader("Content-Length",fileSize.ToString());
byte[] fileBuffer=new byte[fileSize];
fileStream.Read(fileBuffer, 0, (int)fileSize);
fileStream.Close();
Context.Response.BinaryWrite(fileBuffer);
Context.Response.End(); 注: sFileUpLoadPath+dl_SupportFile.SelectedValue代表文件路径
dl_SupportFile.SelectedItem.Text 代表文件名
有哪位老大见过这问题?拜托了........
2.有些机子可以下载,完全没问题,
3.有些机子下载某些文件时会出错,变成下载当前的aspx页面,而下载另外一些没错
4.机子环境一致,同样的win2000 sp4 + IE6.0SP1,不装任何IE插件
5.下载代码: FileStream fileStream=new FileStream(sFileUpLoadPath+dl_SupportFile.SelectedValue,FileMode.Open);
long fileSize = fileStream.Length;
Context.Response.ContentType="application/octet-stream";
Context.Response.AddHeader("Content-Disposition","attachment; filename=\"" + HttpUtility.UrlEncode(dl_SupportFile.SelectedItem.Text,System.Text.Encoding.UTF8) + "\"");
Context.Response.AddHeader("Content-Length",fileSize.ToString());
byte[] fileBuffer=new byte[fileSize];
fileStream.Read(fileBuffer, 0, (int)fileSize);
fileStream.Close();
Context.Response.BinaryWrite(fileBuffer);
Context.Response.End(); 注: sFileUpLoadPath+dl_SupportFile.SelectedValue代表文件路径
dl_SupportFile.SelectedItem.Text 代表文件名
有哪位老大见过这问题?拜托了........
解决方案 »
- 一个关于dotnetbar控件的问题,
- winform如何向指定的外網IP發送文件?求高手啊
- 如何读取XML到集合?
- 用C#如何判断某一目录下的文件是最新的文件?
- DllImport后的宏?
- 页面中如何停止刷新
- 用C#写的WindowsApplication(windows应用程序),是不是只能制成安装程序,不能通过web服务器部署?
- C#中如何使用API中的 FindWindowEX 函数?
- 可以用C#导入doc文件并修改吗?
- 请问在哪里能下载Applied Microsoft .Net Framework Programming电子文档
- 静态页面的广告后台控制问题
- 菜鸟提问:如何用C#操作ASC16英文点阵字库?
dim objtime as string
objtime=year(now()) & "-" & month(now()) & "-" & day(now()) & "-" & hour(now()) & "-" & minute(now())
Dim objFile As New IO.FileStream(server.mappath(objtime &".txt"), IO.FileMode.Create)
Dim bytFile As Byte()
bytFile = System.Text.ASCIIEncoding.Default.GetBytes(wstring)
objFile.Write(bytFile, 0, bytFile.Length)
objFile.Close()
Response.ContentType = "application/octet-stream"
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312")
Response.AppendHeader("Content-Disposition","attachment;filename="& objtime &".txt")
Response.WriteFile(objtime &".txt")
Response.End()
%>
<script language='JavaScript' >window.close();</script>
如本来应该保存对话框提示下载aaa.doc的,现在确提示下载ttt.aspx,点击确定就出错
IE6打过SP2和没打过是不一样的
操作系统均为win2000 sp4
既然在硬盘上
直接Response.Redirect(完整路径文件名)就可以了
不过如果是IE6 SP1的话,文件名有17个汉字的限制
我不理解的是,为什么在操作系统和IE版本相同的情况下,有的机会出现问题,有的不会
唉,郁闷死了
除了操作系统和IE版本,还有没有什么可能会造成下载一个附件,却指向下载当前的aspx页面呢?哪位老大有遇见,关键是有的机子可以有的机子不行(操作系统和IE版本一致)
有的机子就是下不了那些附件,但是下别的附件没问题,比如都是xls文件,有些可以下,有些不能下。
另外的机子,无论什么都可以下
且正常能下的机子超过70%
好,我试试看
你们也去看看我的那个问题,有人说我的想法有问题,根本行不通,我同学说的
http://community.csdn.net/Expert/topic/4887/4887442.xml?temp=.1098444
你们也去看看我的那个问题,有人说我的想法有问题,根本行不通,我同学说的
http://community.csdn.net/Expert/topic/4892/4892388.xml?temp=.3035395
今天过去看后,试着把utf-8去掉,未解决,情况仍然
现在考虑改代码,改成全英文的再试试
操作系统和IE都是win2000 sp4+ie6.0sp1
你要找原因,不知要找到什么时候呢。
Context.Response.ContentType="application/octet-stream";
改称
Context.Response.ContentType="application/ms-download"; 至于你的问题,小弟不敢乱猜测。