禁止客户端IE通过url地址下载文件?只能通过指定的下载页面下载文件
只有本网站转来的请求,可以下载,在地址栏直接输入地址不允许下载
1、不使用链接,使用回写流的方式,只有点击页面按钮才能激发下载
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();
}
2、在上一页面加隐藏域,访问者拷地址串,是拷不走隐藏参数的,在下载页检查隐藏参数
<html>
<body>
<form>
<input id = "down" name = "down" type = "hidden" value = "down"/>
</form>
</body>
</html>
dowload页
if (reuquest["down"] == null)
return;