溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

jQuery無刷新上傳之uploadify的示例分析

發(fā)布時(shí)間:2021-07-24 11:10:38 來源:億速云 閱讀:100 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)jQuery無刷新上傳之uploadify的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

效果圖

jQuery無刷新上傳之uploadify的示例分析

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

jQuery無刷新上傳之uploadify的示例分析

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

jQuery無刷新上傳之uploadify的示例分析

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

jQuery無刷新上傳之uploadify的示例分析

注意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',
        //后臺(tái)處理的頁面
        'uploader': 'UploadHandler.ashx',
        //按鈕顯示的文字
        'buttonText': '上傳圖片',
        //顯示的高度和寬度,默認(rèn) height 30;width 120
        //'height': 15,
        //'width': 80,
        //上傳文件的類型 默認(rèn)為所有文件  'All Files' ; '*.*'
        //在瀏覽窗口底部的文件類型下拉菜單中顯示的文本
        'fileTypeDesc': 'Image Files',
        //允許上傳的文件后綴
        'fileTypeExts': '*.gif; *.jpg; *.png',
        //發(fā)送給后臺(tái)的其他參數(shù)通過formData指定
        //'formData': { 'someKey': 'someValue', 'someOtherKey': 1 },
        //上傳文件頁面中,你想要用來作為文件隊(duì)列的元素的id, 默認(rèn)為false 自動(dòng)生成, 不帶#
        //'queueID': 'fileQueue',
        //選擇文件后自動(dòng)上傳
        'auto': true,
        //設(shè)置為true將允許多文件上傳
        'multi': true
      });
    });
  
  </script>
</head>
<body>
  <div>
    <%--用來作為文件隊(duì)列區(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" + "\\");
      //判斷上傳的文件是否為空
      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中的默認(rèn)設(shè)置并參考官方文檔可得知:

jQuery無刷新上傳之uploadify的示例分析

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

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

uploader:后臺(tái)處理程序的相對路徑

buttonText:按鈕顯示的文字

上傳文件的類型默認(rèn)為所有文件  'All Files'    '*.*'

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

fileTypeDesc;fileTypeExts;

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

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

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

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

method: 提交方式Post 或Get 默認(rèn)為Post;

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

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

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

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

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

jQuery無刷新上傳之uploadify的示例分析

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

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

jQuery無刷新上傳之uploadify的示例分析

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

        }

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

感謝各位的閱讀!關(guān)于“jQuery無刷新上傳之uploadify的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI