在服务器端写Respopnse.Write("<script>window.open('xxx.xls','','');</script>");
可以实现打开一个新窗口,因为新窗口指向一个Excel文件,所以可以实现下载。
但是,这样做会打开一个空窗口。有没有办法可以直接显示“文件另存为对话框”,而不用打开新的窗口就可以实现文件的下载?
可以实现打开一个新窗口,因为新窗口指向一个Excel文件,所以可以实现下载。
但是,这样做会打开一个空窗口。有没有办法可以直接显示“文件另存为对话框”,而不用打开新的窗口就可以实现文件的下载?
解决方案 »
- 导出excel的问题
- 关于后台生成table的问题?
- 即将开asp.net这门课了,请前辈们给点意见,指点下、
- 动态生成一个文本框
- |zyciis| 我用C# WinForm通过WebBrowser可以指定HTML生成JPG文件 但 ASP.NET能否把指定的HTML页面生成JPG文件 谢谢
- 各位大虾江湖救急关于(HttpRequestValidationException )
- 请问:如果将IE6.0.2900.2180升级到6.0.3790.1830(100分相送)
- 在asp.net中加入TreeView以及pageStyle分别需要引用什么dll啊?在线等
- datagrid控件编辑行时,是否可以让这行的编辑筐如datalist纵向排列?
- 。net 仿QQ注册页面的验证码
- 调查一下:大家现在是写USL,还是写BLL
- 为什么我的站点在刷新多次后,会出现错误!!!!!
/// 打开指定的文件
/// </summary>
/// <param name="PathName">路径(相对路径)</param>
/// <param name="FileName">文件名(带扩展名)</param>
public void OpenFile(Page page, string PathName, string FileName)
{
string name = PathName + FileName;
FileInfo aFile = new FileInfo(page.Server.MapPath(name));
string na = Path.GetFileName(name);
page.Response.Clear();
page.Response.ClearHeaders();
page.Response.BufferOutput = false;
page.Response.ContentType = "application/octet-stream";
page.Response.AppendHeader("Content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8));
page.Response.AddHeader("Content-Length", aFile.Length.ToString());
page.Response.WriteFile(name);
page.Response.Flush();
page.Response.End();
}
有没有办法能在浏览器端直接显示一个“文件另存为”对话框,实现从服务器端下载一个文件?
这样不太方便。如果在浏览器端直接显示一个“文件另存为”对话框不容易的话,有没有办法让clerkie(振兴中华,抵制日货!)的方法只显示一次“打开/保存”对话框,并且“另存为”对话框里的默认文件名的扩展名是.xls?
/// 打开指定的文件
/// </summary>
/// <param name="PathName">路径(相对路径)</param>
/// <param name="FileName">文件名(带扩展名)</param>
public void OpenFile(string PathName, string FileName)
{
string name = PathName + FileName;
FileInfo aFile = new FileInfo(Server.MapPath(name));
string na = Path.GetFileName(name);
Response.Clear();
Response.ClearHeaders();
Response.BufferOutput = false;
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8));
Response.AddHeader("Content-Length", aFile.Length.ToString());
Response.WriteFile(name);
Response.Flush();
Response.End();
}
我还有一个问题想问,能不能让浏览器端不显示“打开或保存”对话框,直接在浏览器端显示一个“文件另为”对话框来实现下载文件?多谢了,另外,哪里有这方面的资料,能给个网址就更好了。
明天再结帖,大家可以给我发邮件:[email protected]
我看到别人做的页面,用了一个控件,点击一个<input>之后,直接弹出一个“文件另存为”对话框,然后可以根据控件中的数据,直接在客户端生成一个EXCEL文件,客户就是想让我们做出这样的效果。
这个问题以后再说,昨天网络出了点问题,要不然昨天就结帖了。