读书人

直接给别人下载链接不经过网站的页面如

发布时间: 2012-06-20 20:37:21 作者: rapoo

直接给别人下载链接不经过网站的页面怎么知道被下载了多少次?
您好,我现在有一个自己发布的ASP.NET网站,下载的文件在网站的文件夹目录下,如果直接给别人下载链接而不经过网站的页面,怎么知道这个文件被下载了多少次?

[解决办法]
你 可以写个httpHanlder
[解决办法]
你可以在httpHanlder判断请求的url和你给的url是不是同一个,如果是同一个的话,代表有人下载
[解决办法]
你该转换一下,不直接给具体链接

你提供的链接应该是中间处理程序,比如Handler

然后在httpHanlder里面,计数,然后将文件提供下载如下

C# code
//WriteFile实现下载        string fileName = "ceshi.rar";//客户端保存的文件名        string filePath = Server.MapPath("keji.rar");//路径        FileInfo fileInfo = new FileInfo(filePath);        Response.Clear();        Response.ClearContent();        Response.ClearHeaders();        Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);        Response.AddHeader("Content-Length", fileInfo.Length.ToString());        Response.AddHeader("Content-Transfer-Encoding", "binary");        Response.ContentType = "application/octet-stream";        Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");        Response.WriteFile(fileInfo.FullName);        Response.Flush();        Response.End();
[解决办法]
httpHanlder你不会写?这是asp.net开发的基础知识啊

httpHanlder就是一个cs文件类。然后在web。config里面注册。iis中添加通配符应用程序映射
就可以截取任何类型的文件,根据你的下载的文件夹位置判断是不是访问了下载的文件。

例子
参见
http://msdn.microsoft.com/zh-cn/library/ms227439.aspx

读书人网 >asp.net

热点推荐