易截截图软件、单文件、免安装、纯绿色、仅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 自定义 ASP.NET 登录控件的外观


      您可以通过以下方法自定义多个 ASP.NET 登录控件的内容:指定控件模板并将自己的控件添加到控件的用户界面 (UI),或者替换或移除控件的用户界面不需要的可选控件。还可以使用登录控件的样式属性以及主题和外观来定制控件的外观。
 
一、可自定义的登录控件
对于可以使用模板替换 ......

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实现自适应图片大小的弹出窗口

在最近的项目中,遇到一个问题,要实现这样的效果:
点pic_small.Aspx页面的缩略图后弹出pic_all.aspx页面,pic_all.aspx页面的大小要根据图片大小自动调整,而且要有图片的说明信息,还可以点上一幅和下一幅等进行翻页。
实现过程如下:
pic_small.Aspx页面缩略图处的代码为:
<IMG id="imgPic" style="CURSOR: h ......

ASP.NET文件上传下载

下载文件:string musicUrl = "music/" + Request.QueryString["murl"].ToString();
string fileName = Request.QueryString["murl"].ToString();
string filePath = Server.MapPath(musicUrl);//路径
FileInfo fileInfo = new FileInfo(filePath);
Response.Clear();
Response.Cl ......

21个Asp.Net经常会用到的函数集


1、DateTime 数字型
System.DateTime currentTime=new System.DateTime();
1.1 取当前年月日时分秒
currentTime=System.DateTime.Now;
1.2 取当前年
int 年=currentTime.Year;
1.3 取当前月
int 月=currentTime.Month;
1.4 取当前日
int 日=currentTime.Day;
1.5 取当前时
int 时=currentTime.Hour ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号