文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 国产软件 | 国外软件 | 汉化补丁 | 设为首页 | 加入收藏
业界资讯 | 图形图像 | 操作系统 | 网络冲浪 | 工具软件 | 办公软件 | 媒体动画 | 精文荟萃 | 认证考试 | 网站建设 | 技术开发 | 专栏
当前位置:abcdown网络学院网络编程Script下载文件关闭窗体之解决方法
精品广告
推荐TOP10
·CSS+JavaScript打造超酷右键菜单
·Javascript实例:Select的OnChange()事件
·主页javascript特效19则
·各种网页媒体播放器代码及详解
·用户体验:JS实现仿新浪信息提示效果
·网页特效:图片随机显示实例详解
·JavaScript入门学习书籍的阶段选择
·Javascript代码轻松隐藏网页源文件
·网页制作:JavaScript仿Windows关机效果
·网页制作Javascript经典小技巧总结
阅读TOP10
·如何实现一个表格表头不动tbody区域用滚动条可以滚动
·Javascript实例:Select的OnChange()事件
·JavaScript自定义模式对话框
·判断输入框不为空
·格式化数字函数FormatNumber
·获取cpu序列号,硬盘ID,网卡MAC地址
·通过超链接提交表单
·JavaScript : WINDOW FOR JAVASCRIPT
·JS表格排序新法
·CSS+JavaScript打造超酷右键菜单

下载文件关闭窗体之解决方法

日期:2006年12月16日 作者: 查看:[大字体 中字体 小字体]


对于下载时新打开一窗口下载,下载完后需要关闭的
一种:对于较小文件可以有效:
System.IO.FileInfo file = new System.IO.FileInfo("F:\\mp3\\mp3\\别哭我最爱的人.mp3");
   Response.Clear();
   Response.ClearHeaders();
   Response.Buffer = false;
   Response.Charset="GB2312";
   Response.ContentEncoding=System.Text.Encoding.UTF8;
   Response.ContentType = "application/octet-stream";
  
   Response.AddHeader("Content-Disposition", "attachment; filename="+Server.UrlEncode("别哭我最爱的人.mp3"));
   Response.AddHeader("Content-Length", file.Length.ToString());

     
   Response.WriteFile(file.FullName);
   Response.Flush();
   Response.End();
该代码可以实现输出文件并将新打开的窗体关闭。

另一种对于大文件,我们用上述代码不是较好,因为上述代码是将文件全缓存于服务器后才输出的,如果你的服务器流量大,且文件较大,不建议用以上方法。

以下我测试过,较好能解决:
public static bool ResponseFile(HttpRequest _Request,HttpResponse _Response,string _fileName,string _fullPath, long _speed)
  {
   try
   {
    FileStream myFile = new FileStream(_fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
    BinaryReader br = new BinaryReader(myFile);
    try
    {
     _Response.AddHeader("Accept-Ranges", "bytes");
     _Response.Buffer = false;
     long fileLength = myFile.Length;
     long startBytes = 0;
    
     int pack = 10240; //10K bytes
     int sleep = (int)Math.Floor(1000 * pack / _speed) + 1;
     if (_Request.Headers["Range"] != null)
     {
      _Response.StatusCode = 206;
      string[] range = _Request.Headers["Range"].Split(new char[] {'=', '-'});

[1] [2] [3] 下一页 

上一篇:按比例微缩图片的一段小小的JS代码

下一篇:使用C#开发SmartPhone程序入门


相关软件: 相关文章:
·《三国志11》新武将完全中文名输入法
·[梦幻西游]大唐究级无敌练级法 - 梦幻西游攻略秘籍 - 梦幻西游
·魔法门英雄无敌4:极速风暴 - 游戏攻略
·魔兽世界:法师装备选择指南(原则篇)
·仙剑3-锁妖塔第四层走法
·魔法门8 流程全攻略
·暗黑破坏神2:毁灭之王 修改方法 - 游戏秘籍

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.abcdown.net
首页 | 本站声明 | 下载帮助 | 发布软件 |
中文版权所有:ABC学院 浙ICP备05000717号