国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jQuery無刷新上傳之uploadify簡單代碼

2019-11-19 17:54:33
字體:
供稿:網(wǎng)友

先簡單的侃兩句:貌似已經(jīng)有兩個月的時間沒有寫過文章了,不過仍會像以前那樣每天至少有一至兩個小時是泡在園子里看各位大神的文章。前些天在研究“ajax無刷新上傳”方面的一些插件,用SWFUpload實現(xiàn)了無刷新上傳的功能,不過個人覺得不是很完美。

昨天在網(wǎng)上找到了一個叫做uploadify的jquery上傳插件,看到園子里有幾篇文章也是介紹這個插件的,心想何不用這個試試。

 不過園子里的這幾篇文章用到的uploadify還是以前的舊版本uploadify-v2.1.0,我在官網(wǎng)上下載的是uploadify-v3.1版,其中的一些參數(shù)以及調(diào)用方法也不同了,還好官網(wǎng)有幫助文檔。

(唯一感覺不爽的一點就是這個開發(fā)包是針對php的,官網(wǎng)并沒有.NET版本,但至少原理都是一樣的,簡單的修改一下就可以了。還是那句話“不僅要知其然,還要知其所以然”,知其所以然了,一切都是浮云啊)

好了,廢話不多說。先上個效果圖,有圖有真相:

一:從官網(wǎng)下載開發(fā)包添加到項目中,我對這個開發(fā)包做了一個精簡,刪去了那些php方面的文件:

項目基本結(jié)構(gòu):

二:添加對css和js文件的引用:

注意jquery.js文件和uploadify.js文件的調(diào)用順序。

三:Default.aspx頁面的代碼如下:

<head runat="server">  <title></title>  <link href="js/uploadify/uploadify.css" rel="stylesheet" type="text/css" />  <script src="js/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>  <script src="js/uploadify/jquery.uploadify-3.1.js" type="text/javascript"></script> <script type="text/javascript">    $(function () {      $("#uploadify").uploadify({        //指定swf文件        'swf': 'js/uploadify/uploadify.swf',        //后臺處理的頁面        'uploader': 'UploadHandler.ashx',        //按鈕顯示的文字        'buttonText': '上傳圖片',        //顯示的高度和寬度,默認 height 30;width 120        //'height': 15,        //'width': 80,        //上傳文件的類型 默認為所有文件  'All Files' ; '*.*'        //在瀏覽窗口底部的文件類型下拉菜單中顯示的文本        'fileTypeDesc': 'Image Files',        //允許上傳的文件后綴        'fileTypeExts': '*.gif; *.jpg; *.png',        //發(fā)送給后臺的其他參數(shù)通過formData指定        //'formData': { 'someKey': 'someValue', 'someOtherKey': 1 },        //上傳文件頁面中,你想要用來作為文件隊列的元素的id, 默認為false 自動生成, 不帶#        //'queueID': 'fileQueue',        //選擇文件后自動上傳        'auto': true,        //設(shè)置為true將允許多文件上傳        'multi': true      });    });    </script></head><body>  <div>    <%--用來作為文件隊列區(qū)域--%>    <div id="fileQueue">    </div>    <input type="file" name="uploadify" id="uploadify" />    <p>      <a href="javascript:$('#uploadify').uploadify('upload')">上傳</a>|       <a href="javascript:$('#uploadify').uploadify('cancel')">取消上傳</a>    </p>  </div></body></html>

四:一般處理程序UploadHandler.ashx簡單代碼如下:

public void ProcessRequest(HttpContext context)    {      context.Response.ContentType = "text/plain";      //http://www.cnblogs.com/babycool/      //接收上傳后的文件      HttpPostedFile file = context.Request.Files["Filedata"];      //其他參數(shù)      //string somekey = context.Request["someKey"];      //string other = context.Request["someOtherKey"];      //獲取文件的保存路徑      string uploadPath =        HttpContext.Current.Server.MapPath("UploadImages" + "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");      }     }    public bool IsReusable    {      get      {        return false;      }    }

五:用到的參數(shù)介紹:

通過查看jquery.uploadify-3.1.js中的默認設(shè)置并參考官方文檔可得知:

 參數(shù)不重新指定則保持默認:

swf:uploadify.swf 文件的相對路徑

uploader:后臺處理程序的相對路徑

buttonText:按鈕顯示的文字

上傳文件的類型默認為所有文件  'All Files'    '*.*'

可以通過以下兩參數(shù)指定,指定方法見步驟三中的代碼:

fileTypeDesc;fileTypeExts;

auto:為true表示選擇文件后自動上傳;如果不想自動上傳,需設(shè)定為false,并通過

 <a href="javascript:$('#uploadify').uploadify('upload')">上傳</a>|  <a href="javascript:$('#uploadify').uploadify('cancel')">取消上傳</a>

來指定是上傳還是取消上傳;

multi:設(shè)置為true將允許多文件上傳;

method: 提交方式Post 或Get 默認為Post;

queueSizeLimit:當允許多文件上傳時,設(shè)置選擇文件的個數(shù),默認值為999 ;

另外,取消上傳圖片的路徑是設(shè)置在css文件中的;

其他更多設(shè)置可以參考官網(wǎng)的幫助文檔。

六:將上傳完成后顯示的Complete顯示為中文

英文的Complete不能改成中文”,這可能是之前的版本不能進行修改。我通過查看源代碼 jquery.uploadify-3.1.js找到了上傳完成時顯示的內(nèi)容:

再參考官方的幫助文檔,可以得知,在“

onUploadSuccess” 事件中可以設(shè)置上傳完成后所執(zhí)行的代碼,則修改后的代碼為:

       //選擇文件后自動上傳        'auto': true,        //設(shè)置為true將允許多文件上傳        'multi': true,        //上傳成功后執(zhí)行        'onUploadSuccess': function (file, data, response) {          $('#' + file.id).find('.data').html(' 上傳完畢');        } 

還有一個需要注意的一點是:一般在設(shè)定了選擇上傳文件路徑時比如只允許上傳*.jpg;*.png;*.gif格式的圖片文件,則除了指定fileTypeDesc;fileTypeExts;兩個參數(shù)外,還要在服務(wù)器端即一般處理程序中再次對上傳文件的文件擴展名進行判斷,以防一些用戶跳過客戶端驗證上傳惡意文件。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 运城市| 广德县| 阳信县| 民乐县| 常山县| 东光县| 汉沽区| 香格里拉县| 沁阳市| 扎鲁特旗| 临海市| 武功县| 定边县| 绍兴市| 克山县| 合水县| 新泰市| 靖州| 鲁山县| 容城县| 广饶县| 金阳县| 谢通门县| 新密市| 德庆县| 五指山市| 车致| 宜兰市| 建水县| 项城市| 郁南县| 高密市| 紫阳县| 松滋市| 二手房| 浦东新区| 阿拉善左旗| 阳江市| 峡江县| 虞城县| 五莲县|