Sql server 2008 Telerik RadFileExplorer和服务器端代码
我有一个文件浏览器,如下所示:Sql server 2008 Telerik RadFileExplorer和服务器端代码,sql-server-2008,file,telerik,server-side,explorer,Sql Server 2008,File,Telerik,Server Side,Explorer,我有一个文件浏览器,如下所示: <%@ 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
<%@ 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>
//函数OnClientFileOpen(oExplorer,args){
//参数设置\取消(真);
//radopen(args.get_item().get_url());
// }
函数OnClientFileOpen(oExplorer,args){
var item=args.get_item();
var fileExtension=item.get_extension();
var fileDownloadMode=document.getElementById(“chkbxDownoaldFile”)。选中;
如果((fileDownloadMode==true)和(&(fileExtension==jpg”| | fileExtension==gif)){//下载文件
//文件是图像文档,请勿打开新窗口
参数设置\取消(真);
//告诉浏览器直接打开文件
var requestImage=“Handler.ashx?path=“+item.get_url()”;
document.location=requestImage;
}
}
我希望允许我的用户从我的服务器下载任何文件,而无需任何预览(仅另存为窗口)…
因此,为了这个目的,我可以很容易地更改上面的代码
但这里有一种情况->我想捕获并过滤下载(文件大小限制)(sql server 2008数据库)。
似乎RadFileExplorer只有客户端事件供我使用
当我的页面加载时,我想向我的用户显示RadFileExplorer,以便在没有任何下载权限的情况下查看其文件。
当他/她双击一个文件时,我告诉那个用户请先登录
登录后,他/她可以下载文件,但每天只能下载1GB。
我如何为我的RadFileExplorer做这些事情?
对于这种情况,web服务和web方法是一个好主意吗
提前感谢您使用的代码依赖于一个处理程序-“handler.ashx”。所有文件都使用此处理程序进行流式传输,因此您可以在其代码中实现服务器端限制。我认为如果用户未登录,也可以使用处理程序将浏览器重定向到其他页面