弹不出文件下载对话框的问题
时间:2011-12-16
来源:互联网
我用的是vs2005,要实现下载filelist中选定的文件;
现在的问题是,我在vs2005里,调试的时候,可以正常弹出下载对话框;但是一旦“build->publish web”发布到IIS后,点击下载之后,就是一个空白的页面,弹不出下载对话框。哪位又遇到过这样的问题没?
代码如下:
C# code
现在的问题是,我在vs2005里,调试的时候,可以正常弹出下载对话框;但是一旦“build->publish web”发布到IIS后,点击下载之后,就是一个空白的页面,弹不出下载对话框。哪位又遇到过这样的问题没?
代码如下:
C# code
if (DownloadFile.Exists) { Response.Clear(); Response.ClearHeaders(); Response.Buffer = false; Response.ContentType = "application/octet-stream"; Response.AppendHeader("Content-Disposition", "attachment;filename="+HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.ASCII)); Response.AppendHeader("Content-Length", DownloadFile.Length.ToString()); Response.WriteFile(DownloadFile.FullName); Response.Flush(); Response.End(); } else { Response.Write(string.Format("<script>alert('{0}')</script>", "文件不存在")); } } catch { Response.Write(string.Format("<script>alert('{0}')</script>", "下载出错啦")); }
作者: jonglin 发布时间: 2011-12-16
public void download()
{
string path = Server.MapPath(@"需要下载文件的地址(服务器端的)");
//下载文件的名称
string filename = "c.doc";
System.IO.FileInfo toDownload = new System.IO.FileInfo(path);
if (toDownload.Exists == true)
{
const long ChunkSize = 10000;
byte[] buffer = new byte[ChunkSize];
Response.Clear();
System.IO.FileStream iStream = System.IO.File.OpenRead(path);
long dataLengthToRead = iStream.Length;
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=new_" + HttpUtility.UrlEncode(toDownload.Name));
while (dataLengthToRead > 0 && Response.IsClientConnected)
{
int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize));
Response.OutputStream.Write(buffer, 0, lengthRead);
Response.Flush();
dataLengthToRead = dataLengthToRead - lengthRead;
Response.WriteFile(filename);
}
Response.Close();
}
}
{
string path = Server.MapPath(@"需要下载文件的地址(服务器端的)");
//下载文件的名称
string filename = "c.doc";
System.IO.FileInfo toDownload = new System.IO.FileInfo(path);
if (toDownload.Exists == true)
{
const long ChunkSize = 10000;
byte[] buffer = new byte[ChunkSize];
Response.Clear();
System.IO.FileStream iStream = System.IO.File.OpenRead(path);
long dataLengthToRead = iStream.Length;
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=new_" + HttpUtility.UrlEncode(toDownload.Name));
while (dataLengthToRead > 0 && Response.IsClientConnected)
{
int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize));
Response.OutputStream.Write(buffer, 0, lengthRead);
Response.Flush();
dataLengthToRead = dataLengthToRead - lengthRead;
Response.WriteFile(filename);
}
Response.Close();
}
}
作者: hefeng_aspnet 发布时间: 2011-12-16
DownloadFile.FullName
断点一下,看看是不是服务器和客户端换个环境就不一样了?
断点一下,看看是不是服务器和客户端换个环境就不一样了?
作者: wangsunjun 发布时间: 2011-12-16
引用 2 楼 wangsunjun 的回复:
DownloadFile.FullName
断点一下,看看是不是服务器和客户端换个环境就不一样了?
DownloadFile.FullName
断点一下,看看是不是服务器和客户端换个环境就不一样了?
也没有换环境啊
在同一台机器上呢
作者: jonglin 发布时间: 2011-12-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28