`

类似 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 c#操作word模板插入文字、图片及表格

    在ASP.NET中,使用C#操作Word模板插入文字、图片及表格是一项常见的任务,尤其在自动化报告生成或文档处理的应用中。以下是如何实现这一功能的详细步骤和关键知识点: 首先,你需要创建一个Word模板(例如:`person...

    【ASP.NET编程知识】asp.net单文件带进度条上传的解决方案.docx

    本文主要讲述了ASP.NET单文件带进度条上传的解决方案,通过使用jquery框架和ASP.NET缓存机制,实现了文件上传和进度条显示的功能。 知识点1:使用jquery框架实现文件上传 在本文中,我们使用jquery框架来实现文件...

    Asp.net+Ajax Crm 学习web 编程

    《Asp.net+Ajax在CRM中的应用:Web编程学习指南》 客户关系管理(CRM)系统是企业管理和优化与客户互动的重要工具。本教程将深入探讨如何利用Asp.net和Ajax技术构建一个高效的CRM系统,为初学者提供一个web编程的...

    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...

    .net c# 控件、类库 参考--msdn .rar

    本文将深入探讨.NET C#中的控件、类库以及MSDN(Microsoft Developer Network)提供的参考资料。 一、C#控件 1. Windows Forms控件:这是.NET Framework中提供的一组基础UI元素,如Button、TextBox、Label等,用于...

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

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

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

    (EBOOK-PDF)_MSDN-Training - Introduction to Microsoft ASP.NET, Workbook.pdf 这本书可能是教程的配套教材,包含了详细的理论讲解和实践指导。电子书形式方便学习者随时查阅和学习,同时,PDF格式确保了在不同...

    ASP.NET_MSDN

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

    C# 文档msdn.pdf

    MSDN(Microsoft Developer Network)的C#文档是学习C#的权威资源,包含了从基础到高级的所有主题,适合各个层次的开发者参考。 【C# 语言和 .NET 简介】 C# 语言是微软为.NET框架设计的,它支持现代编程特性,如...

    MSDN+C#+4.0编程指南

    - **动态类型**:C# 4.0引入了`dynamic`关键字,允许在运行时进行类型绑定,极大地简化了与非.NET库如JavaScript或IronPython的交互。 - **多目标参数**:C# 4.0支持可选参数和命名参数,使函数调用更加灵活,减少...

    .net c# 试用期30天

    开发者可以使用.NET Framework提供的API来编写C#代码,实现各种功能,如数据库访问、网络通信、图形绘制等。 2. **C#语言**: C#是一种面向对象的、现代的编程语言,由微软为.NET平台设计。它的语法简洁明了,支持...

    asp.net技术概要

    ASP.NET技术概要主要涉及构建动态网站的各个方面,包括网站布局设计、用户和角色管理以及数据访问策略。本文将深入探讨这些关键知识点。 首先,网站布局设计是构建一个吸引用户并提供良好用户体验的关键。在ASP.NET...

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

    【标题】MSDN上的C#.NET教程(part8)聚焦于多层应用程序的开发,这是C#编程中的一个重要主题,尤其对于构建大型、可扩展和可维护的系统至关重要。这一部分的教程由MSDN讲师主讲,旨在帮助开发者理解如何有效地组织...

    绿色asp.net服务器

    其中,.NET Framework是运行ASP.NET应用程序的基础,它提供了语言无关的运行时环境——Common Language Runtime(CLR),以及各种类库,使得开发者可以使用C#、VB.NET或其它.NET支持的语言编写ASP.NET代码。...

    MSDN离线版C# 脚本手册 C# 指南.pdf

    ### MSDN离线版C#脚本手册C#指南知识点概览 #### 一、C#文档概述 - **入门**:介绍了C#语言的基本概念和发展背景。 - **简介**:详细阐述了C#语言的设计理念及其在软件开发中的地位。 #### 二、程序构建基块 - **...

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

    【MSDN上的C#.NET教程(part10)】是一部分深入学习C#编程语言和.NET框架的系列课程,由微软的官方技术资源平台MSDN提供。这个教程专注于提高开发者的技术能力和实践技巧,帮助他们更好地利用C#进行现代软件开发。在这...

    MSDNasp.net中文书

    标题中的"MSDNasp.net中文书"指的是微软开发网络(MSDN)提供的关于ASP.NET技术的中文版资源。ASP.NET是微软公司推出的一种用于构建Web应用程序的框架,它基于.NET Framework,提供了丰富的功能和工具,使得开发者能够...

    ASP.NET 2.0快速入门教程(微软MSDN课程)

    本快速入门教程由微软MSDN提供,适合初学者系统学习ASP.NET 2.0的核心概念和技术。 教程首先会介绍ASP.NET 2.0的基础,包括Web Forms的概念,它是ASP.NET中的主要组件,用于构建交互式的网页。Web Forms允许开发者...

Global site tag (gtag.js) - Google Analytics