我有一个如下文件浏览器:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SearchBar.aspx.cs" Inherits="FileExplorer.SearchBar" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript">
// function OnClientFileOpen(oExplorer, args) {
// args.set_cancel(true);
// radopen(args.get_item().get_url());
// }
function OnClientFileOpen(oExplorer, args) {
var item = args.get_item();
var fileExtension = item.get_extension();
var fileDownloadMode = document.getElementById("chkbxDownoaldFile").checked;
if ((fileDownloadMode == true) && (fileExtension == "jpg" || fileExtension == "gif")) {// Download the file
// File is a image document, do not open a new window
args.set_cancel(true);
// Tell browser to open file directly
var requestImage = "Handler.ashx?path=" + item.get_url();
document.location = requestImage;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<telerik:RadWindowManager ID="RadWindowManager1" runat="server">
</telerik:RadWindowManager>
<telerik:RadFileExplorer runat="server" ID="RadFileExplorer1" Height="400px" Hidth="600px"
EnableCreateNewFolder="false" EnableCopy="true" OnClientFileOpen="OnClientFileOpen" enableopenfile="true">
<Configuration ViewPaths="~/Files" UploadPaths="~/Files" DeletePaths="~/Files" />
</telerik:RadFileExplorer>
<br />
<asp:CheckBox ID="chkbxDownoaldFile" runat="server" Text="Open images for direct download " />
</div>
</form>
</body>
</html>
上面的代码只是一个例子,您可以在下面的链接中看到他们的演示...
FileExplorer / Filter files and download
我想允许我的用户从我的服务器下载任何文件而无需任何预览(只保存为窗口)...
所以为了这个目的,我可以很容易地改变上面的代码。
但这里有一种情况 - &gt;我想捕获和过滤下载(文件大小限制)(sql server 2008数据库)
看来RadFileExplorer只为我的目的提供客户端事件!
当我的页面加载时,我想向我的用户显示RadFileExplorer只是看到它的文件而没有任何下载许可。
当他/她双击文件时,我告诉用户首先登录!
在他/她登录后,他/她可以下载文件,但每天只能下载1 GB。
我怎样才能为我的RadFileExplorer做这些事情?
网络服务和网络是一个好主意这种情况?
提前致谢
答案 0 :(得分:2)
您使用的代码依赖于处理程序 - “Handler.ashx”。所有文件都使用此处理程序进行流式处理,因此您可以在其代码中实现服务器端限制。我想如果用户没有登录,你也可以使用处理程序将浏览器重定向到另一个页面。