易截截图软件、单文件、免安装、纯绿色、仅160KB

在ASP.NET中支持断点续传下载大文件(ZT)

IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。
一. 两个必要响应头Accept-Ranges、ETag
        客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续传的下载:
Accept-Ranges:告知下载客户端这是一个可以恢复续传的下载,存放本次下载的开始字节位置、文件的字节大小;
ETag:保存文件的唯一标识(我在用的文件名+文件最后修改时间,以便续传请求时对文件进行验证);
Last-Modified:可选响应头,存放服务端文件的最后修改时间,用于验证
二. 一个重要请求头Range
Range:首次下载时,Range头为null,此时服务端的响应头中必须添加响应头Accept-Ranges、ETag;
              续传请求时,其值表示客户端已经收到的字节数,即本次下载的开始字节位置,服务端依据这个 值从相应位置读取数据发送到客户端。
三. 用于验证的请求头If-Range、
       当响应头中包含有Accept-Ranges、ETag时,续传请求时,将包含这些请求头:
If-Range:对应响应头ETag的值;
Unless-Modified-Since:对应响应头Last-Modified的值。
        续传请求时,为了保证客户端与服务端的文件的一致性和正确性,有必要对文件进行验证,验证需要自己写验证代码,就根据解析这两个请求头的值,将客户端已下载的部分与服务端的文件进行对比,如果不吻合,则从头开始下载,如果吻合,则断点续传。
四.  速度限制
        程序中加入了速度限制,用于对客户端进行权限控制的流量限制。
五. 其它注意事项
      如:文件名乱码的问题、文件名中空格变加号、强制客户端显示下载对话框等,详见源码注释:
/**//// <summary>
/// 下载文件,支持大文件、续传、速度限制。支持续传的响应头Accept-Ranges、ETag,请求头Range 。
/// Accept-Ranges:响应头,向客户端指明,此进程支持可恢复下载.实现后台智能传输服务(BITS),值为:bytes;
/// ETag:响应头,用于对客户端的初始(200)响应,以及来自客户端的恢复请求,
/// 必须为每个文件提供一个唯一的ET


相关文档:

浅谈ASP.net安全编程

在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里 ......

ASP.NET 保证数据访问的安全


      大多数 ASP.NET Web 应用程序都涉及数据访问。许多应用程序都会收集数据并将其存储在数据库或文件中,要存储的数据通常基于来自用户的信息。由于原始数据可能来自不受信任的来源,信息是以持久格式存储的,并且您希望确保未经授权的用户不能直接访问您的数据源,因而您需要特别注意与数据 ......

Asp.net UI Performance tuning

1.using gizp compress page ,gif file can't be compressed.
2.put script at the bottom,and put css at the top.
3.make the css and js external.
4.load-on-demand.(If a UI block need to show by control.Set visibable=false. and enableviewstate=true,override the saveviewstate method.)
5.remove the dupl ......

Asp.Net中带图片的重填按钮


把我做第一次做系统时对重填按钮的实现记录如下:
  第一次用ImageButton可以设置背景图片,然后在后台的Click事件中写如下
 this.TxtCallNo.Text = "";
this.TxtCaller.Text = "";
this.TxtTranDate.Text = "";
this.TxtTranLimit.Text = "";
this.TxtTra ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号