Telerik RadFileExplorer和服务器端代码

时间:2011-10-05 08:18:39

标签: 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 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做这些事情? 网络服务和网络是一个好主意这种情况?

提前致谢

1 个答案:

答案 0 :(得分:2)

您使用的代码依赖于处理程序 - “Handler.ashx”。所有文件都使用此处理程序进行流式处理,因此您可以在其代码中实现服务器端限制。我想如果用户没有登录,你也可以使用处理程序将浏览器重定向到另一个页面。