关于ASP.net 向客户端输出文件的问题
客户端点击按钮服务器端生成一个文件,客户端下载这个文件用的是流输出。但是文件保存在客户端后当前的页面回刷新~1.可不可以不刷新当前的页面2.我用的是response.re...
客户端点击按钮 服务器端生成一个文件,客户端下载这个文件
用的是 流输出。但是 文件保存在客户端后 当前的页面回刷新~
1.可不可以不刷新当前的页面
2.我用的是response.redirect("*.aspx");,在*.aspx页面进行文件的输出
但是当前页面刷新的话不能进行正常的刷新
3.我也用了response.redirect("文件相对路径及名字");,但是用这种方法 客户端提示找不到文件,但如果客户端和服务器在意台电脑上的话就可以
请问 高手们 ~~帮帮忙啊
我自己搞定了 是IIS配置问题
不过 1楼的 你回答的完全不靠边啊~汗~ 展开
用的是 流输出。但是 文件保存在客户端后 当前的页面回刷新~
1.可不可以不刷新当前的页面
2.我用的是response.redirect("*.aspx");,在*.aspx页面进行文件的输出
但是当前页面刷新的话不能进行正常的刷新
3.我也用了response.redirect("文件相对路径及名字");,但是用这种方法 客户端提示找不到文件,但如果客户端和服务器在意台电脑上的话就可以
请问 高手们 ~~帮帮忙啊
我自己搞定了 是IIS配置问题
不过 1楼的 你回答的完全不靠边啊~汗~ 展开
展开全部
这是我做过的一个下载页面,不会另打开一个页面,也不会刷新,它用Response.Write直接向前台输出二进制。
源文件代码在这里,你应该看得懂吧。需要的命名空间,请你在VS的智能提示下补充上去。
string strPhyPath = Server.MapPath("~/")+ fileurl;//fileurl是文件的相对地址
if (File.Exists(strPhyPath))
{
//取文件大小
FileStream MyFileStream;
uint FileSize1;
MyFileStream = new FileStream(strPhyPath, FileMode.Open, FileAccess.Read, FileShare.None);
int iConverTemp = Convert.ToInt32(MyFileStream.Length);
FileSize1 = (uint)(iConverTemp);
MyFileStream.Close();
//存在,下载
Page.Response.ContentType = "APPLICATION/OCTET-STREAM";
Page.Response.AddHeader("Content-length", FileSize1.ToString());//下载文件长度
Page.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(strPhyPath, System.Text.Encoding.UTF8));
Page.Response.WriteFile(strPhyPath);
Response.Flush();
Response.End();
}
else
{
this.Alert("文件不存在,请及时向管理员反馈!");//Alert是我自定义定义的方法
}
源文件代码在这里,你应该看得懂吧。需要的命名空间,请你在VS的智能提示下补充上去。
string strPhyPath = Server.MapPath("~/")+ fileurl;//fileurl是文件的相对地址
if (File.Exists(strPhyPath))
{
//取文件大小
FileStream MyFileStream;
uint FileSize1;
MyFileStream = new FileStream(strPhyPath, FileMode.Open, FileAccess.Read, FileShare.None);
int iConverTemp = Convert.ToInt32(MyFileStream.Length);
FileSize1 = (uint)(iConverTemp);
MyFileStream.Close();
//存在,下载
Page.Response.ContentType = "APPLICATION/OCTET-STREAM";
Page.Response.AddHeader("Content-length", FileSize1.ToString());//下载文件长度
Page.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(strPhyPath, System.Text.Encoding.UTF8));
Page.Response.WriteFile(strPhyPath);
Response.Flush();
Response.End();
}
else
{
this.Alert("文件不存在,请及时向管理员反馈!");//Alert是我自定义定义的方法
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询