如题,即用户即使知道了文件的url地址也不能下载.
解决方案 »
- C# WebBrowser 模拟鼠标点击广告,广告是js实现的,各位大虾给点思路。
- 为什么我的richTextBox 中显示的内容不全啊??
- 装了Microsoft Visual Studio 2005怎么安装不了SQLsevere 2005
- VS2005见鬼了
- .net中判断该应用程序是否已经启动,防止重复启动
- c# 关于windows编程的一些问题
- 一个算法的问题,请指教
- 请问各位大神,C#怎么读取MSSQL2008的数据库?
- 关于线程,和监控线程的问题
- 請問﹕我在ie中顯示一個winForm,我能通過按winForm上的按鈕執行網頁中的一段javascript代碼嗎
- 关于TreeView的BeforeSelect和AfterSelect的问题?
- 无法连接 免费空间 的sql server 2005 express 实例 .很棘手,大家帮忙吧!
读取 输出你的文件
客户端如果知道了真实地址是肯定可以下载的 除非IIS中不允许输出你的文件类型.
//---可以使用下面的函数加载你的文件并输出
private void FileDownload(string DownPath)
{
String FullFileName = Server.MapPath(DownPath);
FileInfo DownloadFile = new FileInfo(FullFileName);
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
Response.WriteFile(DownloadFile.FullName);
Response.Flush();
Response.End();
}
通过UrlReferrer检测上一个页面是不是下载页面,是下载 ,不是跳转到下载页面
----------------------------------------------------------
birdfootless() ( ) 信誉:100 Blog 2007-03-27 16:44:00 得分: 0
校验上一页面的地址的方法好像不适用吧,用户直接在地址栏中敲入http://xxxWeb/filestore/xxx.rar就下载了,怎么校验?
2. set session["a"] = 1 check session["a"] in filedownload.aspx
看清楚别人的意思在发言,别人说的是直接敲入地址,而非通过叶面下载不过我想你是不是能够借鉴一下Q-ZONE的做法,外部引用他的图片都是给的另外一个图片来代替的
这个是正确的
通过UrlReferrer检测上一个页面是不是下载页面,是下载 ,不是跳转到下载页面
----------------------------------------------------------
birdfootless() ( ) 信誉:100 Blog 2007-03-27 16:44:00 得分: 0
校验上一页面的地址的方法好像不适用吧,用户直接在地址栏中敲入http://xxxWeb/filestore/xxx.rar就下载了,怎么校验?
你可以做一个页面读出文件来然后输出下载