我的代码:
if(!Page.IsPostBack)
{
if(File.Exists(filePath))
{
FileInfo fi = new FileInfo(filePath);
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(Path.GetFileName(filePath),System.Text.Encoding.UTF8 ));
Response.AppendHeader("Content-Length",fi.Length.ToString());
Response.ContentType="application/octet-stream";
Response.WriteFile(filePath);
Response.Flush();
Response.Clear();
Response.End();
}
else
{
Response.Write("<script langauge=javascript>alert('文件不存在!');window.close();</script>");
Response.End();
}
}
可是总是弹出两次下载框,而且第一次文件名称显示是中文的,第二次就变成乱码了,是代码的问题还是IE的问题?如果是IE 的问题如何设置?我在firefox中试了一下,只弹出一次,但是文件名称是乱码,大侠们,帮忙吧