• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
开心一下
博客园    首页    新随笔    联系   管理    订阅  订阅

asp.net 点击“下载”弹出“下载文件”对话框,网页与要下载的文件不在同一服务器上

#region private void FileDownLoad(string filename)
  /// <summary>
  /// 用户下载文件
  /// </summary>
  /// <param name="filename">下载文件的路径</param>
  private void FileDownLoad(string filename)
  {
  string destFileName = filename;
  destFileName = Server.MapPath("./") + destFileName;
  destFileName = Server.UrlDecode(destFileName);

  if (File.Exists(destFileName))
  {
  FileInfo fi = new FileInfo(filename);
  Response.Clear();
  Response.ClearHeaders();
  Response.Buffer = true;
  Response.Charset = "GB2312";

  //添加头信息,为 "文件下载/另存为 "对话框指定默认文件名 
  Response.AppendHeader("Content-Disposition", "attachment;filename="
  + HttpUtility.UrlEncode(Path.GetFileName(destFileName),
  System.Text.Encoding.UTF8));
  Response.AppendHeader("Content-Length", fi.Length.ToString());
  Response.ContentType = "text/plain";
  Response.Filter.Close();
  Response.WriteFile(destFileName);
  Response.Flush();
  Response.End();
  }
  else
  {
  Response.Write("<script language = javascript>alert('下载出错')</script>");
  }
  }
  #endregion
posted @ 2011-05-24 14:09  开心一下  阅读(639)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3