Re: Process Files Individually

  •  05-05-2009, 2:07 PM

    Re: Process Files Individually

    Hi all,
     
    Please download the last version.
     
    Now uploader provide 3 new javascript event , here is an example for it :
     
    1. <%@ Page Language="C#" %>  
    2.   
    3. <%@ Register TagPrefix="CuteWebUI" Namespace="CuteWebUI" Assembly="CuteWebUI.AjaxUploader" %>  
    4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    5.   
    6. <script runat="server">  
    7.        
    8.     protected override void OnInit(EventArgs e)   
    9.     {   
    10.         if (Request.HttpMethod == "POST" && !Page.IsPostBack)   
    11.         {   
    12.             string guidstr=Request.Form["ajaxfileguid"];   
    13.             if (guidstr != null)   
    14.             {   
    15.                 //OK it's ajax call, handle it and end response:   
    16.                 Guid guid = new Guid(guidstr);   
    17.                 ServerAjaxProcessFile(guid);   
    18.             }   
    19.         }   
    20.         base.OnInit(e);   
    21.     }   
    22.   
    23.     private void ServerAjaxProcessFile(Guid guid)   
    24.     {   
    25.         //use MvcUploader to get file by guid:   
    26.         CuteWebUI.MvcUploader uploader = new MvcUploader(Context);   
    27.         CuteWebUI.MvcUploadFile file = uploader.GetUploadedFile(guid);   
    28.   
    29.         //process it   
    30.         //file.MoveTo("somewhere/filename.ext")   
    31.         file.Delete();   
    32.            
    33.         Response.Write("Server side message : File uploaded : " + file.FileName);   
    34.         Response.End();   
    35.     }   
    36.   
    37. </script>  
    38.   
    39. <html xmlns="http://www.w3.org/1999/xhtml">  
    40. <head runat="server">  
    41.     <title>Untitled Page</title>  
    42. </head>  
    43. <body>  
    44.     <form id="form1" runat="server">  
    45.   
    46.         <div>  
    47.             <CuteWebUI:Uploader runat="server" ID="Uploader1" MultipleFilesUpload="true">  
    48.             </CuteWebUI:Uploader>  
    49.         </div>  
    50.         <div id="statusdiv">  
    51.         </div>  
    52.     </form>  
    53.   
    54.     <script type="text/javascript">  
    55.        
    56.     function ShowMessage(msg)   
    57.     {   
    58.         var statusdiv=document.getElementById("statusdiv");   
    59.         statusdiv.innerHTML="";   
    60.         statusdiv.appendChild(document.createTextNode(msg));   
    61.     }   
    62.        
    63.     function ClientAjaxProcessFile(guid)   
    64.     {   
    65.         var xh;   
    66.         if(window.XMLHttpRequest)   
    67.             xh=new XMLHttpRequest();   
    68.         else   
    69.             xh=new ActiveXObject("Microsoft.XMLHTTP");   
    70.            
    71.         //this is just an sample, use current page to handle the request   
    72.         var ajaxurl=document.forms["form1"].action;   
    73.         xh.open("POST",ajaxurl,false);   
    74.         xh.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");   
    75.         xh.send("ajaxfileguid="+guid);   
    76.         alert(xh.responseText);   
    77.     }   
    78.   
    79.     function CuteWebUI_AjaxUploader_OnTaskStart(obj)   
    80.     {   
    81.         ShowMessage("Start : "+obj.FileName);   
    82.     }   
    83.     function CuteWebUI_AjaxUploader_OnTaskComplete(obj)   
    84.     {   
    85.         ShowMessage("Complete : "+obj.FileName+" : "+obj.FileGuid);   
    86.            
    87.         ClientAjaxProcessFile(obj.FileGuid);   
    88.     }   
    89.     function CuteWebUI_AjaxUploader_OnTaskError(obj,msg,reason)   
    90.     {   
    91.         if(msg==null)msg="File has been cancelled";   
    92.         ShowMessage("Error : "+obj.FileName+" : "+msg);   
    93.     }   
    94.        
    95.     function CuteWebUI_AjaxUploader_OnPostback()   
    96.     {   
    97.         //clear the queue   
    98.         this.reset();   
    99.         //cancel postback while the ajax call have processed the files.   
    100.         return false;   
    101.     }   
    102.        
    103.     </script>  
    104.   
    105. </body>  
    106. </html>  

     
    Regards,
    Terry
     
     
View Complete Thread