萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> Jquery結合HTML5實現文件上傳

Jquery結合HTML5實現文件上傳

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

  1.利用Jquery使用HTML5的FormData屬性實現對文件的上傳

  在HTML5以前我們如果需要實現文件上傳服務器等功能的時候,有時候我們不得不依賴於FLASH去實現,而在HTML5到來之後,我們很容易的實現對文件的上傳,只需要利用HTML5的一個FormData屬性,結合Jquery就很容易實現文件的上傳,而且讀取文件的上傳進度,下面這個上傳案例就是基於上面所說的實現的,下面我將所所有的JS和CSS以及HTML頁面代碼放在下面。

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

  2.HTML頁面代碼如下

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 <!DOCTYPE html>   <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title>使用HTML的FormData屬性實現文件上傳</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代碼如下:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 /*源文件頭信息: <copyright file="FileUpload.js"> Copyright(c)2014-2034 Kencery.All rights reserved. 個人博客:http://www.cnblogs.com/hanyinglong 創建人:韓迎龍(kencery) 創建時間: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代碼如下:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 // 源文件頭信息: // <copyright file="FileUpload.js"> // Copyright(c)2014-2034 Kencery.All rights reserved. // 創建人:韓迎龍(kencery) // 創建時間:2015-6-24 // </copyright> ; (function($) { $.fn.SalesMOUNDUpload = function(options) { var defaults = { saveUrl: '', jqInput: '', maxSize: 1024 * 1024 * 100, //100M fnRemove: '', //移除文件 ,參數:文件名 fnComplete: '' //每個文件成功 ,參數:服務器端返回內容 }; 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>'); $t
copyright © 萬盛學電腦網 all rights reserved