亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

AspNet中使用JQuery上傳插件Uploadify詳解

2019-11-20 12:26:39
字體:
來源:轉載
供稿:網友

首先按下面的步驟來實現一個簡單的上傳功能。

1 創建Web項目,命名為JQueryUploadDemo,從官網上下載最新的版本解壓后添加到項目中。

2 在項目中添加UploadHandler.ashx文件用來處理文件的上傳。

3 在項目中添加UploadFile文件夾,用來存放上傳的文件。

進行完上面三步后項目的基本結構如下圖:

4 Default.aspx的html頁的代碼修改如下:

<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">  <title>Uploadify</title>  <link href="JS/jquery.uploadify-v2.1.0/example/css/default.css"   rel="stylesheet" type="text/css" />  <link href="JS/jquery.uploadify-v2.1.0/uploadify.css"   rel="stylesheet" type="text/css" />  <script type="text/javascript"   src="JS/jquery.uploadify-v2.1.0/jquery-1.3.2.min.js"></script>  <script type="text/javascript"   src="JS/jquery.uploadify-v2.1.0/swfobject.js"></script>  <script type="text/javascript"  src="JS/jquery.uploadify-v2.1.0/jquery.uploadify.v2.1.0.min.js"></script>  <script type="text/javascript">    $(document).ready(function()    {      $("#uploadify").uploadify({        'uploader': 'JS/jquery.uploadify-v2.1.0/uploadify.swf',        'script': 'UploadHandler.ashx',        'cancelImg': 'JS/jquery.uploadify-v2.1.0/cancel.png',        'folder': 'UploadFile',        'queueID': 'fileQueue',        'auto': false,        'multi': true      });    });   </script></head><body>  <div id="fileQueue"></div>  <input type="file" name="uploadify" id="uploadify" />  <p>   <a href="javascript:$('#uploadify').uploadifyUpload()">上傳</a>|    <a href="javascript:$('#uploadify').uploadifyClearQueue()">取消上傳</a>  </p></body></html>

5  UploadHandler類的ProcessRequest方法代碼如下:

public void ProcessRequest(HttpContext context){  context.Response.ContentType = "text/plain";    context.Response.Charset = "utf-8";    HttpPostedFile file = context.Request.Files["Filedata"];    string uploadPath =     HttpContext.Current.Server.MapPath(@context.Request["folder"])+"http://";   if (file != null)   {     if (!Directory.Exists(uploadPath))     {       Directory.CreateDirectory(uploadPath);     }      file.SaveAs(uploadPath + file.FileName);     //下面這句代碼缺少的話,上傳成功后上傳隊列的顯示不會自動消失    context.Response.Write("1");   }    else   {      context.Response.Write("0");    } }

6 運行后效果如下圖:

7 選擇了兩個文件后,點擊上傳,就可以看到UploadFile文件夾中會增加這兩個文件。

上面簡單地實現了一個上傳的功能,依靠函數uploadify實現,uploadify函數的參數為json格式,可以對json對象的key值的修改來進行自定義的設置,如multi設置為true或false來控制是否可以進行多文件上傳,下面就來介紹下這些key值的意思:

uploader : uploadify.swf 文件的相對路徑,該swf文件是一個帶有文字BROWSE的按鈕,點擊后淡出打開文件對話框,默認值:uploadify.swf。
script :   后臺處理程序的相對路徑 。默認值:uploadify.php
checkScript :用來判斷上傳選擇的文件在服務器是否存在的后臺處理程序的相對路徑
fileDataName :設置一個名字,在服務器處理程序中根據該名字來取上傳文件的數據。默認為Filedata
method : 提交方式Post 或Get 默認為Post
scriptAccess :flash腳本文件的訪問模式,如果在本地測試設置為always,默認值:sameDomain 
folder :  上傳文件存放的目錄 。
queueID : 文件隊列的ID,該ID與存放文件隊列的div的ID一致。
queueSizeLimit : 當允許多文件生成時,設置選擇文件的個數,默認值:999 。
multi : 設置為true時可以上傳多個文件。
auto : 設置為true當選擇文件后就直接上傳了,為false需要點擊上傳按鈕才上傳 。
fileDesc : 這個屬性值必須設置fileExt屬性后才有效,用來設置選擇文件對話框中的提示文本,如設置fileDesc為“請選擇rar doc pdf文件”,打開文件選擇框效果如下圖:

fileExt : 設置可以選擇的文件的類型,格式如:'*.doc;*.pdf;*.rar' 。
sizeLimit : 上傳文件的大小限制 。
simUploadLimit : 允許同時上傳的個數 默認值:1 。
buttonText : 瀏覽按鈕的文本,默認值:BROWSE 。
buttonImg : 瀏覽按鈕的圖片的路徑 。
hideButton : 設置為true則隱藏瀏覽按鈕的圖片 。
rollover : 值為true和false,設置為true時當鼠標移到瀏覽按鈕上時有反轉效果。
width : 設置瀏覽按鈕的寬度 ,默認值:110。
height : 設置瀏覽按鈕的高度 ,默認值:30。
wmode : 設置該項為transparent 可以使瀏覽按鈕的flash背景文件透明,并且flash文件會被置為頁面的最高層。 默認值:opaque 。
cancelImg :選擇文件到文件隊列中后的每一個文件上的關閉按鈕圖標,如下圖:

上面介紹的key值的value都為字符串或是布爾類型,比較簡單,接下來要介紹的key值的value為一個函數,可以在選擇文件、出錯或其他一些操作的時候返回一些信息給用戶。

onInit : 做一些初始化的工作。

onSelect :選擇文件時觸發,該函數有三個參數

event:事件對象。
queueID:文件的唯一標識,由6為隨機字符組成。
fileObj:選擇的文件對象,有name、size、creationDate、modificationDate、type 5個屬性。
代碼如下:

$(document).ready(function(){  $("#uploadify").uploadify({    'uploader': 'JS/jquery.uploadify-v2.1.0/uploadify.swf',    'script': 'UploadHandler.ashx',    'cancelImg': 'JS/jquery.uploadify-v2.1.0/cancel.png',    'folder': 'UploadFile',    'queueID': 'fileQueue',    'auto': false,    'multi': true,    'onInit':function(){alert("1");},    'onSelect': function(e, queueId, fileObj)    {      alert("唯一標識:" + queueId + "/r/n" +         "文件名:" + fileObj.name + "/r/n" +         "文件大?。? + fileObj.size + "/r/n" +         "創建時間:" + fileObj.creationDate + "/r/n" +         "最后修改時間:" + fileObj.modificationDate + "/r/n" +         "文件類型:" + fileObj.type      );    }  });}); 

當選擇一個文件后彈出的消息如下圖:

onSelectOnce :在單文件或多文件上傳時,選擇文件時觸發。該函數有兩個參數event,data,data對象有以下幾個屬性:

fileCount:選擇文件的總數。
filesSelected:同時選擇文件的個數,如果一次選擇了3個文件該屬性值為3。
filesReplaced:如果文件隊列中已經存在A和B兩個文件,再次選擇文件時又選擇了A和B,該屬性值為2。
allBytesTotal:所有選擇的文件的總大小。
onCancel : 當點擊文件隊列中文件的關閉按鈕或點擊取消上傳時觸發。該函數有event、queueId、fileObj、data四個參數,前三個參數同onSelect 中的三個參數,data對象有兩個屬性fileCount和allBytesTotal。

fileCount:取消一個文件后,文件隊列中剩余文件的個數。
allBytesTotal:取消一個文件后,文件隊列中剩余文件的大小。
onClearQueue :當調用函數fileUploadClearQueue時觸發。有event和data兩個參數,同onCancel 中的兩個對應參數。

onQueueFull :當設置了queueSizeLimit并且選擇的文件個數超出了queueSizeLimit的值時觸發。該函數有兩個參數event和queueSizeLimit。

onError :當上傳過程中發生錯誤時觸發。該函數有event、queueId、fileObj、errorObj四個參數,其中前三個參數同上,errorObj對象有type和info兩個屬性。

type:錯誤的類型,有三種‘HTTP', ‘IO', or ‘Security'
info:錯誤的描述
onOpen :點擊上傳時觸發,如果auto設置為true則是選擇文件時觸發,如果有多個文件上傳則遍歷整個文件隊列。該函數有event、queueId、fileObj三個參數,參數的解釋同上。

onProgress :點擊上傳時觸發,如果auto設置為true則是選擇文件時觸發,如果有多個文件上傳則遍歷整個文件隊列,在onOpen之后觸發。該函數有event、queueId、fileObj、data四個參數,前三個參數的解釋同上。data對象有四個屬性percentage、bytesLoaded、allBytesLoaded、speed:

percentage:當前完成的百分比
bytesLoaded:當前上傳的大小
allBytesLoaded:文件隊列中已經上傳完的大小
speed:上傳速率 kb/s
onComplete:文件上傳完成后觸發。該函數有四個參數event、queueId、fileObj、response、data五個參數,前三個參數同上。response為后臺處理程序返回的值,在上面的例子中為1或0,data有兩個屬性fileCount和speed

fileCount:剩余沒有上傳完成的文件的個數。
speed:文件上傳的平均速率 kb/s
注:fileObj對象和上面講到的有些不太一樣,onComplete 的fileObj對象有個filePath屬性可以取出上傳文件的路徑。

onAllComplete:文件隊列中所有的文件上傳完成后觸發。該函數有event和data兩個參數,data有四個屬性,分別為:

filesUploaded :上傳的所有文件個數。
errors :出現錯誤的個數。
allBytesLoaded :所有上傳文件的總大小。
speed :平均上傳速率 kb/s

相關函數介紹

在上面的例子中已經用了uploadifyUpload和uploadifyClearQueue兩個函數,除此之外還有幾個函數:

uploadifySettings:可以動態修改上面介紹的那些key值,如下面代碼

$('#uploadify').uploadifySettings('folder','JS');

如果上傳按鈕的事件寫成下面這樣,文件將會上傳到uploadifySettings定義的目錄中

<a href="javascript:$('#uploadify').uploadifySettings('folder','JS');$('#uploadify').uploadifyUpload()">上傳</a>

uploadifyCancel:該函數接受一個queueID作為參數,可以取消文件隊列中指定queueID的文件。

$('#uploadify').uploadifyCancel(id);

花了一個晚上,終于寫完了,對JQuery這個上傳插件也基本了解了,希望對大家有所幫助,不對之處還望大家指正。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日在线观看| 国产精品久久久久久av福利软件| 不卡中文字幕av| 久久伊人免费视频| 亚洲欧美成人一区二区在线电影| 国产精品av电影| 韩国福利视频一区| 国产日韩欧美在线| 国内精品视频久久| 中文字幕欧美亚洲| 国产在线视频欧美| 精品久久久香蕉免费精品视频| 国产成人亚洲综合青青| 综合网日日天干夜夜久久| 精品久久久久久久久中文字幕| 国产91久久婷婷一区二区| 日韩精品在线视频美女| 国产精品久久久久久一区二区| 亚洲色图17p| 性色av一区二区三区免费| 日韩av在线影院| 一区二区三区视频免费在线观看| 韩国日本不卡在线| 日本欧美精品在线| 国产精品一区二区三| 亚洲国产精品久久久久| 久久男人的天堂| 综合网日日天干夜夜久久| 97国产成人精品视频| 国产精品大陆在线观看| 亚洲色图日韩av| 日韩免费电影在线观看| 亚洲一区二区在线播放| 精品综合久久久久久97| 久久激情五月丁香伊人| 欧美日韩亚洲一区二区三区| 亚洲午夜激情免费视频| 国产精品中文久久久久久久| 亚洲综合色激情五月| 欧美成年人网站| 精品久久香蕉国产线看观看gif| 97久久精品在线| 青青久久av北条麻妃海外网| 九九热在线精品视频| 亚洲精品国产品国语在线| 国产日韩欧美成人| 九九热精品视频在线播放| 久久久久国色av免费观看性色| 51色欧美片视频在线观看| 日韩欧美国产黄色| 亚洲欧美日韩精品久久奇米色影视| 2019中文字幕在线观看| 97欧美精品一区二区三区| 日韩在线www| 欧美性理论片在线观看片免费| 亚洲电影在线看| 日本精品视频在线| 欧美色欧美亚洲高清在线视频| 欧美专区在线视频| 欧美中文在线视频| 91精品视频一区| 操91在线视频| 国产91精品在线播放| 91tv亚洲精品香蕉国产一区7ujn| 日韩欧美成人区| 精品久久久91| 久久精品人人爽| 91久久久久久久久久久久久| 亚洲国产欧美自拍| 91久久国产婷婷一区二区| 98精品在线视频| 欧洲精品久久久| 亚洲欧美日韩天堂一区二区| 国产福利精品av综合导导航| 亚洲国产精品久久久| 黑人欧美xxxx| 中文字幕亚洲天堂| 国产精品高潮粉嫩av| 国产成人精品视频在线观看| 亚洲精品一二区| 日韩在线视频免费观看高清中文| 亚洲欧美激情另类校园| 欧美性20hd另类| 中文字幕亚洲综合久久| 亚洲精品小视频| 亚洲成人aaa| 亚洲人成电影网站色…| 午夜精品久久久久久久久久久久久| 欧美亚洲一区在线| 精品久久久一区二区| 主播福利视频一区| 亚洲伊人成综合成人网| 97超碰国产精品女人人人爽| 92国产精品视频| 91sa在线看| 91亚洲精华国产精华| 欧美精品18videos性欧美| 成人欧美一区二区三区黑人孕妇| 亚洲第一中文字幕| 欧美亚洲在线观看| 清纯唯美日韩制服另类| 久久亚洲私人国产精品va| 亚洲综合大片69999| 亚洲高清一区二| 国产偷国产偷亚洲清高网站| 26uuu另类亚洲欧美日本老年| 国产亚洲视频在线观看| 国产精品日韩欧美综合| 欧美综合激情网| 亚洲国产成人精品一区二区| 欧洲s码亚洲m码精品一区| 亚洲香蕉伊综合在人在线视看| 国产欧美一区二区三区在线| 日韩人在线观看| 精品国产91久久久| 中文字幕不卡在线视频极品| 中文字幕亚洲综合| 成人激情视频在线播放| 91精品视频在线播放| 久久精视频免费在线久久完整在线看| 亚洲精品小视频在线观看| 日韩中文字幕亚洲| 中文字幕在线成人| 国产手机视频精品| 国产精品嫩草影院一区二区| 九九久久综合网站| 久久久久久久久亚洲| 日韩亚洲成人av在线| 久久久久久久国产| 国产免费一区视频观看免费| 日韩激情视频在线| 一本色道久久综合亚洲精品小说| 国产精品中文字幕在线观看| 麻豆精品精华液| 91成人在线播放| 国外成人在线视频| 精品一区二区三区三区| 国产一区二区三区网站| 亚洲国产精品久久91精品| 91中文字幕一区| 久热精品视频在线观看一区| 亚洲精品在线观看www| 国产精品久久久| 国内精品小视频| 疯狂做受xxxx高潮欧美日本| 久久久之久亚州精品露出| 日韩精品有码在线观看| 精品呦交小u女在线| 中文字幕精品在线视频| 成人欧美在线观看| 91在线网站视频| 亚洲日韩中文字幕在线播放| 欧美天堂在线观看| 久久影院模特热| 国产精品69久久久久| 国产精品欧美一区二区| 国产精品国模在线| 欧美黑人国产人伦爽爽爽| 精品国产区一区二区三区在线观看| 亚洲视频专区在线| 欧美精品手机在线| 成人欧美在线观看| 国产精品∨欧美精品v日韩精品| 成人性生交大片免费看小说|