直接给别人下载链接不经过网站的页面怎么知道被下载了多少次? 您好,我现在有一个自己发布的ASP.NET网站,下载的文件在网站的文件夹目录下,如果直接给别人下载链接而不经过网站的页面,怎么知道这个文件被下载了多少次? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以在httpHanlder判断请求的url和你给的url是不是同一个,如果是同一个的话,代表有人下载 链接上面做个JS事件,然后AJAX异步请求下保存数据。 <a onclick="downnumber()" href="24541.txt">下载</a>function downnumber(){ var query = "{p:'objid'}"; comm.ajaxForJson("/TestHandler.ashx", "post", query, function(o) { });}TestHandler.ashx文件里面写数据保存方法 您好,我是直接给别人链接地址 http://192.168.1.100/downfile/1.rar这样怎么获取下载次数!!! 你该转换一下,不直接给具体链接你提供的链接应该是中间处理程序,比如Handler然后在httpHanlder里面,计数,然后将文件提供下载如下//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中你判断下请求的地址和你的下载地址是否一样,如果一样,代表有人下载过。5楼不显示。 httpHanlder你不会写?这是asp.net开发的基础知识啊httpHanlder就是一个cs文件类。然后在web。config里面注册。iis中添加通配符应用程序映射就可以截取任何类型的文件,根据你的下载的文件夹位置判断是不是访问了下载的文件。例子参见http://msdn.microsoft.com/zh-cn/library/ms227439.aspx asp.net 如何统计一条新闻的日点量、周点击量、月点击量 【asp.net】 上传图片到服务器 Nhibernate 怎么写像T-SQL top 一样的语句啊! 请问cache可以随着浏览器关闭失效吗? 数据库控件中日期格式显示的一个小问题 asp 程序员五一节祝语 .net连接oracle的问题 动态生成Checkbox问题,哪位高手来看看代码。有高分哦! [DataGrid] 数据填充问题 关于ajax请求的问题,着急~在线等待高手接到~~ 是不是ajax的 TabContainer 在点击切还TAB的时候点一次会引发两次Changed???
<a onclick="downnumber()" href="24541.txt">下载</a>
function downnumber(){
var query = "{p:'objid'}";
comm.ajaxForJson("/TestHandler.ashx", "post", query, function(o) {
});
}TestHandler.ashx文件里面写数据保存方法
您好,我是直接给别人链接地址 http://192.168.1.100/downfile/1.rar
这样怎么获取下载次数!!!
//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();
就可以截取任何类型的文件,根据你的下载的文件夹位置判断是不是访问了下载的文件。例子
参见
http://msdn.microsoft.com/zh-cn/library/ms227439.aspx