Telerik RadUpload 文件类型验证

记录Telerik学习过程~

 

今天记录的是Upload. 

 

 你可以使用RadUpload与ASP.NET的自定义验证器。 CustomValidator验证同时支持客户端和服务器端验证。

验证客户端的好处是可以防止的CustomValidator验证时提交的文件有选择的客户端验证函数认为无效的页面。验证功能可以使用validateExtensions()客户端的方法来验证客户端上的文件扩展名。选定的文件必须转移到服务器才能的尺寸或MIME类型的验证。

验证服务器端的优点是您可以访问文件,如大小或MIME类型,甚至检查文件内容的信息。自定义验证器的ServerValidate事件发生后,RadUpload ValidatingFile事件,并有完整的验证。
 
当使用一个CustomValidator验证,验证器的ControlToValidate属性RadUpload不得设置!

 

 (语言组织能力不好,还是 上代码,上图片  好!)

 

先上图:

 

Upload控件需要几个js的支持, Telerik 的 dll 自带了需要的js.

 

ExpandedBlockStart.gif 代码
< telerik:RadScriptManager ID = " ScriptManager1 "  runat = " server " >
        
< Scripts >
            
< asp:ScriptReference Assembly = " Telerik.Web.UI "  Name = " Telerik.Web.UI.Common.Core.js "   />
            
< asp:ScriptReference Assembly = " Telerik.Web.UI "  Name = " Telerik.Web.UI.Common.jQuery.js "   />
            
< asp:ScriptReference Assembly = " Telerik.Web.UI "  Name = " Telerik.Web.UI.Common.jQueryInclude.js "   />
        
</ Scripts >
    
</ telerik:RadScriptManager >

 

 

 

ExpandedBlockStart.gif 页面代码
< div  class = " MainWrap " >
        
< div  class = " TopWrap " >
            
< div  class = " Holder " >
                
< telerik:RadAsyncUpload runat = " server "  ID = " RadAsyncUpload1 "  AllowedFileExtensions = " jpg,jpeg,png,gif "
                    MaxFileSize
= " 1048576 "  OnClientValidationFailed = " validationFailed "  OnValidatingFile = " RadAsyncUpload1_ValidatingFile "
                    OnFileUploaded
= " RadAsyncUpload1_FileUploaded "  InputSize = " 42 "  Skin = " Windows7 "   >
                
</ telerik:RadAsyncUpload >
                
< asp:Button runat = " server "  ID = " BtnSubmit "  Text = " 上传 "   />
                
< p >
                    选择要上传的图片 (jpg, jpeg, png, gif)
                
</ p >
                
< p >
                    图片最大不能超过 1M 大小.
                
</ p >
                
< div  class = " ErrorHolder " >
                
</ div >
            
</ div >
            
< div  class = " Holder Right " >
                
< asp:Panel runat = " server "  ID = " ResultsPanel "  Visible = " false " >
                    
< asp:Panel ID = " ValidFiles "  Visible = " false "  runat = " server " >
                        
< p >
                            
< strong > 图像保存到目标文件夹:   / File /</ strong >
                        
</ p >
                    
</ asp:Panel >
                    
< asp:Panel ID = " InvalidFiles "  Visible = " false "  runat = " server " >
                        
< p >
                            
< strong > 下面的图片不被保存,由于超过最大大小: </ strong >
                        
</ p >
                    
</ asp:Panel >
                
</ asp:Panel >
            
</ div >
            
< div  class = " BottomWrap " >
            
</ div >
        
</ div >
    
</ div >
ExpandedBlockStart.gif 点击客户端代码
< script type = " text/javascript " >
        function validationFailed(sender, eventArgs) {
            $(
" .ErrorHolder " ).append( " <p>验证失败 ' "   +  eventArgs.get_fileName()  +   " '.</p> " ).fadeIn( " slow " );
        }
    
</ script >

 

 

 

 

ExpandedBlockStart.gif 后台代码
const   int  MaxTotalBytes  =   1048576 //  1 MB
     int  totalBytes;

    
protected   void  Page_Load( object  sender, EventArgs e)
    {
        
if  (IsPostBack)
        {
            ResultsPanel.Visible 
=   true ;
        }
    }

    
public   void  RadAsyncUpload1_FileUploaded( object  sender, FileUploadedEventArgs e)
    {
        Label fileName 
=   new  Label();
        fileName.Text 
=  e.File.FileName;
        e.File.SaveAs(Server.MapPath(
" ../file/ " + e.File.FileName), true ); // 保存文件
         if  (e.IsValid)
        {
            ValidFiles.Visible 
=   true ;
            ValidFiles.Controls.Add(fileName);
        }
        
else
        {
            InvalidFiles.Visible 
=   true ;
            InvalidFiles.Controls.Add(fileName);
        }
    }

    
public   void  RadAsyncUpload1_ValidatingFile( object  sender, Telerik.Web.UI.Upload.ValidateFileEventArgs e)
    {
        
if  (totalBytes  <  MaxTotalBytes)
        {
            
//  没有达到限制的总字节数,运行文件上传
            e.IsValid  =   true ;
            totalBytes 
+=  e.UploadedFile.ContentLength;
        }
        
else
        {
            
//  达到限制的总字节数,放弃文件上传
            e.IsValid  =   false ;
        }
    }

 

 

 很多属性, 我就不多做介绍~ 因为我相信你的理解能力, 而且这些属性不难理解, 对吧~!!

 

 

!!

转载于:https://www.cnblogs.com/weialei/archive/2010/08/18/Telerik_Upload.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值