久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      利用Jquery使用HTML5的FormData屬性實現(xiàn)文件上傳

      本文給大家介紹的是利用Jquery使用HTML5的FormData屬性實現(xiàn)對文件的上傳的方法和實例,非常的實用,有需要的小伙伴可以參考下。

      1.利用Jquery使用HTML5的FormData屬性實現(xiàn)對文件的上傳

        在HTML5以前我們?nèi)绻枰獙崿F(xiàn)文件上傳服務(wù)器等功能的時候,有時候我們不得不依賴于FLASH去實現(xiàn),而在HTML5到來之后,我們很容易的實現(xiàn)對文件的上傳,只需要利用HTML5的一個FormData屬性,結(jié)合Jquery就很容易實現(xiàn)文件的上傳,而且讀取文件的上傳進度,下面這個上傳案例就是基于上面所說的實現(xiàn)的,下面我將所所有的JS和CSS以及HTML頁面代碼放在下面。

        注意事項:FormData屬性必須依賴于HTML5,所以如果你按照本文代碼實現(xiàn)的功能,則瀏覽器必須升級為最新(支持HTML5 FormData屬性)。

      2.HTML頁面代碼如下

       <!DOCTYPE html>      <html lang="en" xmlns="http://www.w3.org/1999/xhtml">     <head>       <meta charset="utf-8" />       <title>使用HTML的FormData屬性實現(xiàn)文件上傳</title>       <link rel="stylesheet" href="../css/fileUpload.css" />     </head>     <body>       <table id="uploadTable" style="border: 1px;"></table>       <br/>       <a href="javascript:void(0);" class="input-file">         添加文件<input type="file" id="txtFile" style="width:200px;" />       </a>       <script type="text/javascript" src="../js/jquery-1.7.1-min.js"></script>          <script type="text/javascript">         $(function () {           $('#uploadTable').SalesMOUNDUpload({             saveUrl: '/Test/Save',             jqInput: $('#txtFile'),             fnRemove: removeFile,             fnComplete: function (d) {               window.console.log('complete ' + d);             }           });         });         function removeFile(d) {           $.post('/Test/Remove', { "filename": d }, function(r) {                        });         }       </script>     </body>   </html>

      3.CSS代碼如下:

       /*源文件頭信息:   <copyright file="FileUpload.js">   Copyright(c)2014-2034 Kencery.All rights reserved.   個人博客:http://www.cnblogs.com/hanyinglong   創(chuàng)建人:韓迎龍(kencery)   創(chuàng)建時間:2015-6-24   </copyright>*/      body   {     font-family: "微軟雅黑";     font-size: 12px;   }   .input-file {     overflow: hidden;     position: relative;   }   .input-file input {     opacity: 0;     filter: alpha(opacity=0);     font-size: 100px;     position: absolute;     top: 0;     right: 0;   }   #uploadTable {     width: 500px;     border-collapse: collapse;     border: 1px solid Silver;   }

      4.JS代碼如下:

      // 源文件頭信息:  // <copyright file="FileUpload.js">  // Copyright(c)2014-2034 Kencery.All rights reserved.  // 創(chuàng)建人:韓迎龍(kencery)  // 創(chuàng)建時間:2015-6-24  // </copyright>  ;  (function($) {    $.fn.SalesMOUNDUpload = function(options) {      var defaults =      {        saveUrl: '',        jqInput: '',        maxSize: 1024 * 1024 * 100, //100M        fnRemove: '', //移除文件 ,參數(shù):文件名        fnComplete: '' //每個文件成功 ,參數(shù):服務(wù)器端返回內(nèi)容      };      var opt = $.extend(defaults, options);      function getByteToM(val) {        if (isNaN(val)) return val;        val = val / (1024 * 1024);        val = Math.round(val * 100) / 100;        return val;      }      return this.each(function() {        var $this = $(this);        $this.empty();        if (typeof FormData == 'undefine') {          alert('瀏覽器版本太低,不支持改上傳!');          return;        }        //表頭        if ($this.find('thead').length == 0) {          var $thead = $('<thead>');          var $th_tr = $('<tr>');          $th_tr.append('<th>文件名</th>');          $th_tr.append('<th>類型</th>');          $th_tr.append('<th>大小</th>');          $th_tr.append('<th>狀態(tài)</th>');          $th_tr.append('<th>操作</th>');          $th_tr.appendTo($thead);          $this.append($thead);        }        opt.jqInput[0].addEventListener('change', function(e) {          var file = this.files[0];          if (!file) {            return;          }          if (file.size > opt.maxSize) {            window.alert('文件超過最大');            return;          }          var fd = new FormData();          var $table = $this;          fd.append("uploadFile", file);          var xhr = new XMLHttpRequest();          xhr.open('POST', opt.saveUrl, true);          xhr.upload.addEventListener("progress", uploadProgress, false);          xhr.addEventListener("load", uploadComplete, false);          xhr.addEventListener("error", uploadFailed, false);          xhr.addEventListener("abort", uploadCanceled, false);          //表中內(nèi)容          var $tr = $('<tr>');          $tr.append('<td class="upload_name">' + file.name + '</td>');          $tr.append('<td class="upload_type">' + file.type + '</td>');          $tr.append('<td class="upload_size">' + getByteToM(file.size) + 'M' + '</td>');          $tr.append('<td class="upload_status">' + 0 + '</td>');          $tr.append('<td class="upload_action"><a href="javascript:void(0);">' + '取消' + '</a></td>');          $tr.find('.upload_action a').unbind('click').bind('click', function() {            xhr.abort();          });          $table.append($tr);          function uploadProgress(evt) {            if (evt.lengthComputable) {              var percentComplete = Math.round(evt.loaded * 100 / evt.total);              $tr.find('.upload_status').html(Math.round(percentComplete) + '%');            } else {              $tr.find('.upload_status').html('unable to compute');            }          }          function uploadComplete(evt) {            if (evt.target.status == 200) {              $tr.find('.upload_status').html('已完成');              $tr.find('.upload_action a').html('刪除');              if (typeof opt.fnComplete == 'function') {                opt.fnComplete(evt.target.response);              }              $tr.find('.upload_action').unbind('click').bind('click', removeFile);            }          }          function uploadFailed() {            $tr.find('.upload_status').html('<a href="javascript:void(0);">×</a>');            $tr.find('.upload_status a').unbind('click').bind('click', function() {              $tr.remove();            });            $tr.find('.upload_action a').html('重試');            $tr.find('.upload_action a').unbind('click').bind('click', function() {              xhr.send(fd);            });          }          function uploadCanceled() {            $tr.remove();          }          function removeFile() {            $tr.remove();            if (typeof opt.fnRemove == 'function') {              opt.fnRemove(file.name);            }          }          xhr.send(fd);        }, false);      });    };  }(jQuery));

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號