怎么防止直接下载文件
请问大,我怎么样才能防止怎么防止直接文件下载。假如网站一个会员下载这个文件后把文件地址发给别人,让别人通过这个地址直接下载。怎么样才能防止这样非会员通过地址真接写下载那。asp.net下怎么来写那。听说可以通过httphandler可以写,那位高手能指点一下,谢谢了。给个列子也行。
[解决办法]
/download.aspx?file=xxxx
你可以在在那个aspx,或者ashx里处理.举个例子,用流的方式写出来.如果是mp3文件
System.IO.FileInfo file = new System.IO.FileInfo(fileName); if (file.Exists) { System.IO.FileStream fs = null; fs = System.IO.File.Open(fileName, System.IO.FileMode.Open); byte[] btFile = new byte[fs.Length]; fs.Read(btFile, 0, Convert.ToInt32(fs.Length)); fs.Close(); System.Web.HttpContext.Current.Response.Clear(); System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name); System.Web.HttpContext.Current.Response.AddHeader("Content-Length", file.Length.ToString()); System.Web.HttpContext.Current.Response.ContentType = "audio/mpeg3"; System.Web.HttpContext.Current.Response.BinaryWrite(btFile); }