好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 使用jQuery Uploader顯示文件上傳進度

使用jQuery Uploader顯示文件上傳進度

熱門標簽:浙江外呼系統怎么安裝 海外地圖標注門市標 廈門商鋪地圖標注 上海楊浦怎么申請申請400電話 銅川小型外呼系統運營商 山西防封卡電銷卡套餐 陜西人工外呼系統哪家好 云南外呼電銷機器人系統 地圖標注多個行程
請到 Download 下載資源 的 JQueryElement 示例下載一節下載示例代碼 (腳本之家下載)
本文將說明 Uploader 控件的功能以及使用過程中的注意事項和技巧, 目錄如下:
* 準備
* 創建保存頁面
* 添加 FileUpload 控件
* 設置 EnableSessionState
* 調用 Uploader 的 Save 方法
* 創建獲取進度的頁面
* 創建上傳頁面
* 設置保存頁面
* 設置獲取進度的頁面
* 上傳
* 隱藏保存頁面


準備
請確保已經在 Download 下載資源 中的 JQueryElement.dll 下載一節下載 JQueryElement 最新的版本.
請使用指令引用如下的命名空間:

復制代碼 代碼如下:

%@ Register Assembly="zoyobar.shared.panzer.JQueryElement"
Namespace="zoyobar.shared.panzer.ui.jqueryui.plusin"
TagPrefix="je" %>
%@ Register Assembly="zoyobar.shared.panzer.JQueryElement"
Namespace="zoyobar.shared.panzer.web.jqueryui"
TagPrefix="je" %>

除了命名空間, 還需要引用 jQueryUI 的腳本和樣式, 在 Download 下載資源 的 JQueryElement.dll 下載一節下載的壓縮包中包含了一個自定義樣式的 jQueryUI, 如果需要更多樣式, 可以在 http://jqueryui.com/download 下載:除了命名空間, 還需要引用 jQueryUI 的腳本:
復制代碼 代碼如下:

link type="text/css" rel="stylesheet" href="[樣式路徑]/jquery-ui-version>.custom.css" />
script type="text/javascript" src="[腳本路徑]/jquery-version>.min.js">/script>
script type="text/javascript" src="[腳本路徑]/jquery-ui-version>.custom.min.js">/script>

創建保存頁面
保存頁面是一個簡單的頁面, 主要完成文件的保存工作, 保存頁面不會自己提交, 而是由上傳頁面提交.
添加 FileUpload 控件
首先, 為保存頁面添加 FileUpload 控件:
復制代碼 代碼如下:

form id="formFileUpload" runat="server">
上傳:nbsp;asp:FileUpload ID="file" runat="server" />
/form>

也可以添加 type 屬性為 file 的 input 元素:
復制代碼 代碼如下:

form id="formFileUpload" runat="server" enctype="multipart/form-data">
上傳:nbsp;input type="file" id="file" runat="server" />
/form>

如果使用 input 元素, 則可能需要設置 form 的 enctype 屬性為 multipart/form-data.
設置 EnableSessionState
需要設置保存頁面的 EnableSessionState 為 ReadOnly, 這樣可以在保存頁面保存文件時, 請求獲取進度的頁面. 這主要是由于, ASP.NET 順序執行可以讀寫 Session 的頁面:
復制代碼 代碼如下:

%@ Page Language="C#" AutoEventWireup="true"
CodeFile="FileUpload.aspx.cs" Inherits="uploader_FileUpload"
EnableSessionState="ReadOnly" %>

調用 Uploader 的 Save 方法
在保存頁面的 Page_Load 方法中, 調用 Uploader 控件的 Save靜態方法來保存文件:
復制代碼 代碼如下:

protected void Page_Load ( object sender, EventArgs e )
{
if ( this.IsPostBack this.file.HasFile )
// TODO: 這里設置 waitSecond 參數是為了在測試時顯示上傳的進度,
// 在實際的使用中請不要設置 waitSecond, 并調整 bufferSize 為一個合理的值.
Uploader.Save (
this.Server.MapPath ( @"~/uploader/photo.jpg" ),
this.file.PostedFile,
this.Session["myphotouploadinfo"] as Uploader.UploadInfo,
1,
1 );
// Uploader.Save (
// this.Server.MapPath ( @"~/uploader/photo.jpg" ),
// this.file.PostedFile,
// this.Session["myphotouploadinfo"] as Uploader.UploadInfo );
}

代碼中, 通過 IsPostBack 和 HasFile 屬性判斷在用戶提交了文件后, 才進行保存.
Save 方法的格式為 Save ( string filePath, HttpPostedFile postedFile, Uploader.UploadInfo uploadInfo, int bufferSize, int waitSecond ), filePath 參數是文件保存的完整路徑, postedFile 參數是提供文件控制的 HttpPostedFile 對象, 可以從 FileUpload 控件獲取, uploadInfo 參數是保存上傳進度信息的對象, bufferSize 參數是保存文件時的緩存大小, 默認 128kb 保存一次, 最后一個參數 waitSecond 只在測試時使用, 表示緩存被保存后的等待時間, 這樣可以確??吹竭M度.
上傳大于 4mb 的文件, 請修改 web.config 的 maxRequestLength, 可以參考 http://msdn.microsoft.com/zh-cn/library/e1f13641(v=vs.71).aspx.
創建獲取進度的頁面
包含進度信息的對象 Uploader.UploadInfo 被保存在 Session 中, 因此可以隨時從 Session中獲取進度信息:
復制代碼 代碼如下:

%@ WebHandler Language="C#" Class="uploader_getprec" %>
using System.Collections.Generic;
using System.Web;
using System.Web.Script.Serialization;
using System.Web.SessionState;
using zoyobar.shared.panzer.ui.jqueryui.plusin;
public class uploader_getprec : IHttpHandler,
IReadOnlySessionState
{
public void ProcessRequest ( HttpContext context )
{
context.Response.ContentType = "text/javascript";
context.Response.Cache.SetNoStore ( );
Uploader.UploadInfo info =
context.Session["myphotouploadinfo"] as Uploader.UploadInfo;
SortedDictionarystring, object> json =
new SortedDictionarystring, object> ( );
if ( null == info )
json.Add ( "prec", "-" );
else
{
json.Add ( "prec", info.Percent );
json.Add ( "total", info.ContentLength );
json.Add ( "posted", info.PostedLength );
if ( info.Percent == 100 )
json.Add ( "url", "photo.jpg" );
/*
* {
* "prec": 20.23
* "total": 2000,
* "posted": 2
* }
* */
}
context.Response.Write (
new JavaScriptSerializer ( ).Serialize ( json )
);
}

需要注意的是, uploader_getprec 實現了接口 IReadOnlySessionState, 而不是 IRequiresSessionState. 原因也是和設置 EnableSessionState 為 ReadOnly 類似的. 至于如何返回 JSON 數據, 請參考 在不同的 .NET 版本中返回 JSON.
創建上傳頁面
最后一步就是創建一個上傳頁面, 在頁面中添加 Uploader控件:
復制代碼 代碼如下:

je:Uploader ID="uploader" runat="server" IsVariable="true"
UploadUrl="FileUpload.aspx"
ProgressUrl="getprec.ashx" ProgressChanged="
function(data){
if(-:data.prec == '-')
$('#prec').text('沒有進度!');
else
if(-:data.prec == 100){
$('#prec').text('完成, 圖片路徑為: ' + -:data.url);
pb.hide();
$('#photo').show().attr('src', -:data.url);
}
else{
$('#prec').text(-:data.posted +
' bytes/' + -:data.total + ' bytes, ' +
-:data.prec + '%');
pb.progressbar('option', 'value', -:data.prec);
}
}
">
/je:Uploader>
je:Button ID="cmdUpload" runat="server" IsVariable="true"
Label="開始" Click="
function(){
cmdUpload.hide();
uploader.__uploader('hide').__uploader('upload');
pb.show();
}">
/je:Button>

設置保存頁面
通過 Uploader 的 UploadUrl 屬性, 可以選擇保存頁面, 示例中, 選擇了頁面 FileUpload.aspx, 這將自動生成一個 iframe 元素, iframe 的 src 屬性指向 FileUpload.aspx 頁面.
也可以自定義一個 iframe, 然后通過 Upload屬性選擇此 iframe:
復制代碼 代碼如下:

iframe id="myIFrame" src="FileUpload.aspx">/iframe>
je:Uploader ID="uploader" runat="server" IsVariable="true"
Upload="#myIFrame"
... >
/je:Uploader>

設置獲取進度的頁面
通過屬性 ProgressUrl 和 ProgressChanged 可以獲取并顯示上傳進度, ProgressUrl 表示返回進度信息的頁面地址, ProgressChanged 則用于處理返回的進度等信息.
此外 ProgressInterval 屬性表示查詢進度的時間間隔, 默認為 1000 毫秒.
上傳
調用 uploader 的 upload方法, 即可觸發上傳操作:
復制代碼 代碼如下:

je:Button ID="cmdUpload" runat="server" IsVariable="true"
Label="開始" Click="
function(){
uploader.__uploader('upload');
}">
/je:Button>

默認情況下將對保存頁面的第一個表單執行 submit 操作, 可以通過 UploadForm 屬性來調整需要提交的表單的索引.
隱藏保存頁面
調用 uploader 的 hide方法, 即可隱藏保存頁面:
復制代碼 代碼如下:

uploader.__uploader('upload');

JQueryElement 是開源共享的代碼, 可以在 http://code.google.com/p/zsharedcode/wiki/Download 頁面下載 dll 或者是源代碼.

實際過程演示: http://www.tudou.com/programs/view/-Zvwz5xsih8/, 建議全屏觀看.

歡迎訪問 panzer 開源項目, http://zsharedcode.googlecode.com/ , 其中包含了 IEBrowser 控制 WebBrowser 執行各種 js 和 jQuery 腳本以及錄制功能 和 jQueryUI 的 Asp.net 控件 JQueryElement, 微博: http://t.qq.com/zoyobar
您可能感興趣的文章:
  • 分享20多個很棒的jQuery 文件上傳插件或教程
  • jQuery Ajax文件上傳(php)
  • php+jQuery.uploadify實現文件上傳教程
  • Jquery Uploadify多文件上傳帶進度條且傳遞自己的參數
  • Jquery結合HTML5實現文件上傳
  • jQuery文件上傳插件Uploadify使用指南
  • jQuery實現文件上傳進度條特效
  • jquery插件ajaxupload實現文件上傳操作
  • js jquery分別實現動態的文件上傳操作按鈕的添加和刪除
  • jQuery頁面彈出框實現文件上傳

標簽:孝感 自貢 信陽 許昌 萊蕪 西雙版納 朔州 常州

巨人網絡通訊聲明:本文標題《使用jQuery Uploader顯示文件上傳進度》,本文關鍵詞  使用,jQuery,Uploader,顯示,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用jQuery Uploader顯示文件上傳進度》相關的同類信息!
  • 本頁收集關于使用jQuery Uploader顯示文件上傳進度的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 九一香蕉视频| 乳罩脱了喂男人吃奶视频 | 热99re久久精品精品免费| 公和我边做边爱边好爽| 中国free性XXXX少妇HD| 特大欧美黑人巨大XXOO| 男人和女人靠逼视频| 后进式男女动态无遮挡动| 0adc影库年龄确认| 《爆乳女教师》 HD在线观看| 国产一级一片免费播放i| japanesexxxxx| 榴莲视频污| 特大毛片| 香港经典aa毛片免费观看变态| 无线乱码一二三区免费看| 国产综合久久久久久吹潮| 少妇一级婬片A片AAA视频| a毛片a毛片a视频| 日本工囗邪恶帝全彩大全acg| 99自拍网| 女人把秘?扒开给男人看视频真人 美女扒开腿让男人桶爽揉豆瓣评分 | 我和大佬365天的第二季| 中文日本免费高清| 任你干在线视频| 日本 成人 哺乳| 国产第一页久久亚洲欧美国产| 亚洲理论| 美女的屁股视频网站| 无人影视在线播放免费观看| tk白丝女仆丨vk挠脚心| 精品无码三级在线观看视频| 日本三级韩国三级香i港三级| good电影三级在线播放| 沙特女人性猛交XXXX| 欧洲女人性开放视频免费播放| 久操视频在线| 三级a级情欲在线观看| jzzijzzij日本成熟丰满| 骚插| 24小时日本免费观看完整版|