<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

    自由的力量,自由的生活。

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

    瀏覽-選擇文件-點擊 “上傳 ”后,效果如下:

    彈出透明UI遮罩層 并顯示上傳這個過程 我這里設置太透明了 效果不是很立體

    曾祥展

    文件結構如圖:

    曾祥展

     

    說明:用到“高山來客”的大文件上傳組件 http://www.cnblogs.com/bashan/archive/2008/05/23/1206095.html

    以及Newtonsoft.Json.dll Json字符串反序列化為對象 http://james.newtonking.com/projects/json-net.aspx

    jquery.blockUI.js 彈出透明遮罩層 http://malsup.com/jquery/block/

    jquery.form.js   表單驗證Ajax提交 

    參照了“螞蟻飛了”的文章 多謝多謝 http://blog.csdn.net/jetsteven

     

     

    HTML:

    <form id="uploadForm" runat="server" enctype="multipart/form-data">   <div id="uploadfield"  style="width:600px; height:500px">    <input id="File1" type="file" runat="server" />    <asp:Button ID="Button1" runat="server"  Text="上傳" onclick="Button1_Click" />     <p>文件上傳進度條</p>     <p>文件上傳進度條</p>     <p>文件上傳進度條</p>     <p>文件上傳進度條</p>     <p>文件上傳進度條</p>     <p>文件上傳進度條</p>      <p>文件上傳進度條</p>    </div>                    <div id="ui"  style="display:none"  >      <div id="output" > </div>        <div id="progressbar"class="ui-progressbar ui-widget ui-widget-content ui-corner-all" style="width:296px; height:20px;"></div>    <input id="btn_cancel" type="button" value="取消上傳" />   </div> </form>
     
    js:
     
    var inte; $(function() { $('#uploadForm').submit(function() {     return false; });  $('#uploadForm').ajaxForm({ //這里調(diào)用jquery.form.js表單注冊方法     beforeSubmit: function(a, f, o) {//提交前的處理         o.dataType = "json";         $('#uploadfield').block({ message: $('#ui'), css: { width: '300px', border: '#b9dcfe 1px solid',padding: '0.5em 0.2em'  }         });         inte = self.setInterval("getprogress()", 500);     } });  $('#btn_cancel').click(function() {     var uploadid = $("#UploadID").val();     $.ajax({         type: "POST",         dataType: "json",         async: false, //ajax的請求時同步 只有一個線程         url: "upload_ajax.ashx",         data: "UploadID=" + uploadid + "&cancel=true",         success: function(obj) {             $("#output").html(obj.msg);             inte = self.clearInterval(inte);             $('#uploadfield').unblock();                            }     }); }); });  function getprogress() { var uploadid = $("#UploadID").val() $.ajax({     type: "POST",     dataType: "json",     async: false,     url: "upload_ajax.ashx",     data: "UploadID=" + uploadid,     success: function(obj) {     var p = obj.msg.Readedlength / obj.msg.TotalLength * 100;     var info = "<FONT color=Green> 當前上傳文件:</FONT>" + obj.msg.CurrentFile;     info += "<br><FONT color=Green>" + obj.msg.FormatStatus + ":</FONT>" + obj.msg.Status;     info += "<br><FONT color=Green>文件大小:</FONT>" + obj.msg.TotalLength;     info += "<br><FONT color=Green>速度:</FONT>" + obj.msg.FormatRatio;     info += "<br><FONT color=Green>剩余時間:</FONT>" + obj.msg.LeftTime;       $("#output").html(info);     $("#progressbar").progressbar({ value: 0 }); //初始化     $("#progressbar").progressbar("option", "value", p);     $("#progressbar div").html(p.toFixed(2) + "%");     $("#progressbar div").addClass("percentText");     if (obj.msg.Status == 4) {         inte = self.clearInterval(inte);         $('#uploadfield').unblock();      }            } }); }
     
    交互過程代碼:
     
    <%@ WebHandler Language="C#" Class="progressbar" %>  using System; using System.Web;  using BigFileUpload;//大文件引用命名空間 using Newtonsoft.Json;//對象到JSON的相互轉換 using System.Text.RegularExpressions;//正則  public class progressbar : IHttpHandler {      private string template = "{{statue:'{0}',msg:{1}}}";    public void ProcessRequest(HttpContext context)    {        context.Response.ContentType = "text/plain";        try       {        string guid = context.Request["UploadID"];        string cancel =context.Request["cancel"];     UploadContext c = UploadContextFactory.GetUploadContext(guid);       if (!string.IsNullOrEmpty(cancel))     {                    c.Abort=true;                    throw new Exception("用戶取消");        }        string json = Newtonsoft.Json.JsonConvert.SerializeObject(c);                    WriteResultJson(1, json, context,template);                 }catch (Exception err)        {            WriteResultJson(0, err.Message, context);        }    }      public static void WriteResultJson(int resultno, string description, HttpContext context) {     WriteResultJson(resultno, description, context, "{{statue:'{0}',msg:'{1}'}}"); }  public static void WriteResultJson(int resultno, string description, HttpContext context, string template) {     description = ClearBR(ReplaceString(description, "'", "|", false));     context.Response.Write(string.Format(template, resultno, description)); }  public static string ClearBR(string str) {     Regex r = null;     Match m = null;     r = new Regex(@"(\r|\n)", RegexOptions.IgnoreCase);     for (m = r.Match(str); m.Success; m = m.NextMatch())     {         str = str.Replace(m.Groups[0].ToString(), @"\n");     }     return str; }  public static string ReplaceString(string SourceString, string SearchString, string ReplaceString, bool IsCaseInsensetive) {     return Regex.Replace(SourceString, Regex.Escape(SearchString), ReplaceString, IsCaseInsensetive ? RegexOptions.IgnoreCase : RegexOptions.None); }    public bool IsReusable    {        get       {         return false;        }    }  }         
    http://www.cnblogs.com/jcomet/archive/2010/03/24/1693467.html
    posted on 2012-02-29 20:42 ivaneeo 閱讀(596) 評論(0)  編輯  收藏 所屬分類: web2.0

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 色偷偷亚洲第一综合| 亚洲人成伊人成综合网久久久| 亚洲AV无码久久| a级毛片免费在线观看| 亚洲精品无码成人片久久| 久久国产免费直播| 亚洲V无码一区二区三区四区观看| 色哟哟国产精品免费观看| 亚洲精品高清一二区久久| fc2免费人成为视频| 亚洲日产无码中文字幕| 久操视频在线免费观看| 亚洲欧洲另类春色校园小说| 国产男女爽爽爽爽爽免费视频| 亚洲videos| 国产一区二区三区在线观看免费 | 亚洲视频在线观看视频| 久久久久久毛片免费播放| 久久精品国产亚洲av麻豆蜜芽| 女人让男人免费桶爽30分钟| 日韩色视频一区二区三区亚洲| 久久乐国产精品亚洲综合| 免费视频成人手机在线观看网址| 亚洲国产精品久久久久网站| 中文字幕影片免费在线观看| 亚洲GV天堂GV无码男同| 国产午夜亚洲不卡| 97人妻无码一区二区精品免费| 亚洲欧美国产国产综合一区| 亚洲午夜无码AV毛片久久| 免费视频成人片在线观看| 亚洲天堂2017无码中文| 亚洲黄黄黄网站在线观看| 久久国产高潮流白浆免费观看| 亚洲JIZZJIZZ妇女| 亚洲成av人在线视| 日本高清免费aaaaa大片视频| 青青操免费在线视频| 学生妹亚洲一区二区| 中文字幕精品无码亚洲字| 免费99精品国产自在现线|