`

类似 MSDN CSDN 导航树效果 ASP.Net(C#) + JavaScript 实现!

 
阅读更多

使用该 URL http://localhost/WebApplicationX/WebForm1.aspx 在 Flashget 中下载

切换 暂停/开始 , 并增加下载的块数 测试!

原理参见上一篇 blog JSP/Servlet 实现版:

http://blog.csdn.net/playyuer/archive/2004/07/30/56538.aspx

利用该原理不难实现支持数据库大字段的断点续传多线程链接的下载!

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

public class WebForm1 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{

string s = @"e:/northwind.mdb";
s = @"I://SetupRes//Sun//j2re-1_4_2_05-windows-i586-p.exe";
System.IO.Stream S = new System.IO.FileStream(s, System.IO.FileMode.Open, System.IO.FileAccess.Read,System.IO.FileShare.Read);

long p = 0;

long l = new System.IO.FileInfo(s).Length;

if (Request.Headers["Range"] != null)
{
Response.StatusCode = 206;
p = long.Parse( Request.Headers["Range"].Replace("bytes=","").Replace("-",""));
}

Response.AddHeader("Content-Length", ((long)(l - p)).ToString() );

if (p != 0)
{
//不是从最开始下载,
//响应的格式是:
//Content-Range: bytes [文件块的开始字节]-[文件的总大小 - 1]/[文件的总大小]
Response.AddHeader("Content-Range","bytes " + p.ToString() + "-" + ((long)(l - p)).ToString() + "/" + l.ToString());
}

Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + System.IO.Path.GetFileName(s));

S.Position = p;

int i = 1;
byte[] b = new Byte[1024];
while (i > 0)
{
i = S.Read(b, 0, b.Length);
Response.OutputStream.Write(b, 0, i);
}

S.Close();
Response.End();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary><br>/// 设计器支持所需的方法 - 不要使用代码编辑器修改<br>/// 此方法的内容。<br>/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}

分享到:
评论

相关推荐

    ASP.NET+AJAX实现进度条上传文件

    该程序采用了jquery框架,实现了小文件上传,不超过80Mb,可以在web.config文件中进行相应的配置,但是有个最大值,具体需要查看msdn,下一篇文章我将会实现大文件上传,下一篇文章估计得过段时间,因为接下来这几天...

    ASP.NET MVC MSDN 文档 CHM

    ASP.NET MVC 1.0 MSDN Reference CHM Version ASP.NET MVC 1.0 MSDN 参考及类库,CHM版本,从MSDN 官方网站下载并编译。源分支URL: http://msdn.microsoft.com/en-us/library/dd394709.aspx 内容列表: ASP.NET MVC...

    asp.net知识库

    ASP.NET 2.0构建动态导航的Web应用程序(TreeView和Menu ) 体验.net2.0的优雅(3) -- 为您的 SiteMap 添加 控制转发功能 GridView控件使用经验 ASP.NET 2.0:弃用 DataGrid 吧,有新的网格控件了! ASP.NET2.0控件...

    Asp.Net + 用友华表(V5.1) 制作自定义报表

    ReportServiceConfig 是报表生成器,该程序与Asp.Net关系紧密,参见http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/builddistapp/ArchitecturalOptionsforAsynchronousWorkflow.mspx, 他运行...

    ASP.NET_MSDN

    MSDN上 ASPNET相关内容打包成chm,这个更为详细。 易于阅读和搜索。

    [ASP.NET.AJAX编程参考手册(涵盖ASP.NET.3.5及2.0)].(美)霍斯拉维.扫描版.pdf

    中文名: ASP.NET AJAX编程参考手册(涵盖ASP.NET 3.5及2.0) 原名: ASP.NET AJAX Programmer's Reference 作者: (美)霍斯拉维 译者: 刘志忠 图书分类: 软件 资源格式: PDF 版本: 扫描版 出版社: 清华大学出版社 书号...

    MSDN上的C#.NET教程(part8)

    MSDN讲师的C#.NET教程 《现代软件开发——使用.NET和C#》 8-多层应用程序开发.rar

    asp.net mvc core中文

    本文档将MSDN的最新的asp.net core 中文文档存取为PDF文档,方便大家离线查看。

    asp.net博客系统

    本博客采用ASP.NET2.0 c# + MSSQL2005 + XML + jquery + anthem.net开发,暂时为单用户版本,以下简单介绍... 程序基于类似petshop的标准三层架构,方便维护与扩展(不过暂时只支持MSSQL数据库-_-||) 前台使用...

    MSDN+C#+4.0编程指南

    MSDN+C#+4.0编程指南

    Asp.net与SQL一起打包部署安装

    借鉴MSDN webcasts的Asp.net程序部署和李洪根的一篇文章,然后加上自己的亲身体会,把整个SQL和Asp.net(vb.net)一起打包的全过程写一下。

    读写INI文件(VB.NET C#)

    读写INI文件的类 分别用VB.NET和C#分别来实现的简单编程 更具体内容请访问微软MSDN

    asp.net 4.0 chm

    msdn asp.net 4.0 chm版

    ASP.NET实现在服务器端控制网页 PDF

    讲座内容: 如何在在服务端...这次讲座,我们将给大家介绍在ASP.NET中如何在客户端控制网页。 &lt;br/&gt; &lt;br/&gt;课程讲师: 邵志东 MSDN特邀讲师 北京新科海学校 副总经理 &lt;br/&gt;技术等级: Level 200

    MSDN-Training - Introduction to Microsoft ASP.NET(源码+数据库+电子书)

    这是微软为介绍ASP.NET所出的教程,里边含有7个实验源码(lab1-7),如果跟着做下来,进步是巨大的。

    庖丁解牛-ASP.NET技术

    CSDN社区Asp.net版块版主、Asp.net控件/组件开发版块版主;荣获2008年《DevWOW微软博客达人》优胜奖。具有多年Web开发经验,目前在北京用友软件集团平台技术部门从事ERP产品的底层UI控件/组件设计工作。个人技术站点...

    ASP.NET Ajax_from MSDN

    微软MSDN打包下载的有关asp.net ajax部分的内容,已保存为chm格式。易于阅读和搜索。

    ASP.NET实现在服务器端控制网页 Video

    讲座内容: 如何在在服务端...这次讲座,我们将给大家介绍在ASP.NET中如何在客户端控制网页。 &lt;br/&gt; &lt;br/&gt;课程讲师: 邵志东 MSDN特邀讲师 北京新科海学校 副总经理 &lt;br/&gt;技术等级: Level 200

    ASP.NET页面框架 Video

    讲座内容: ASP.NET 页面框架是一种可伸缩的编程模型,可以用它在服务器上动态生成网页。ASP.NET 页面框架是 Active Server Pages 的后续产品。在本次讲座中,我们将给大家详细介绍有关ASP.NET页面框架的...

    C# 文档msdn.pdf

    C#msdn文档,内容非常齐全,堪称C#词典 pdf格式带有书签,可作为C#工具书使用,检索学习方便 本人做C#开发5年常翻阅,各位可根据情况下载使用

Global site tag (gtag.js) - Google Analytics