<script src="~/Scripts/jquery-1.9.1.min.js"></script> <link href="~/Scripts/1/bootstrap.css" rel="stylesheet" /> <link href="~/Scripts/1/webuploader.css" rel="stylesheet" /> <script src="~/Scripts/1/webuploader.js"></script> <script src="~/Scripts/1/bootstrap.min.js"></script> <script src="~/Scripts/1/webuploader.js"></script> <div id="uploader" class="wu-example"> <!--用來存放文件信息--> <div id="thelist" class="uploader-list"></div> <div class="btns"> <div id="picker0" data-ids="picker" >文件上傳</div> <div id="picker1" style="display:none" >選擇文件</div> </div> </div> <span style="font-size: 14px;"> <script type="text/javascript"> $(function () { var uploader; Size = 0; uploader= aa("0"); }); function aa(i) { /*init webuploader*/ $list = $("#thelist"); uploader = WebUploader.create({ auto: true, // swf文件路徑 swf: '/Scripts/1/Uploader.swf', // 文件接收服務端。 server: '/Home/UpLoadProcess/', // 選擇文件的按鈕。可選。 // 內部根據當前運行是創建,可能是input元素,也可能是flash. pick: { id: '#picker'+i, //只能選擇一個文件上傳 //multiple: false }, fileSingleSizeLimit: 100 * 1024 * 1024, //設定單個文件大小 //限制只能上傳一個文件 //fileNumLimit: 1, // 不壓縮image, 默認如果是jpeg,文件上傳前會壓縮一把再上傳! resize: false, chunked: true,//分片上傳-大文件的時候分片上傳,默認false chunkSize: 500 * 1024, }) // 當有文件被添加進隊列的時候 uploader.on('fileQueued', function (file) { // 判斷當前上傳文件的格式 if (uploader.getFiles()[uploader.getFiles().length - 1].ext.toLowerCase() != "docx" && uploader.getFiles()[uploader.getFiles().length - 1].ext.toLowerCase() != "doc" && uploader.getFiles()[uploader.getFiles().length - 1].ext.toLowerCase() != "xlsx" && uploader.getFiles()[uploader.getFiles().length - 1].ext.toLowerCase() != "xls" && uploader.getFiles()[uploader.getFiles().length - 1].ext.toLowerCase() != "pptx" && uploader.getFiles()[uploader.getFiles().length - 1].ext.toLowerCase() != "ppt" && uploader.getFiles()[uploader.getFiles().length - 1].ext.toLowerCase() != "mp4" && uploader.getFiles()[uploader.getFiles().length - 1].ext.toLowerCase() != "swf" && uploader.getFiles()[uploader.getFiles().length - 1].ext.toLowerCase() != "pdf" && uploader.getFiles()[uploader.getFiles().length - 1].ext.toLowerCase() != "jpg" && uploader.getFiles()[uploader.getFiles().length - 1].ext.toLowerCase() != "png") { alert("上傳格式不正確!"); } else { var $li = $('#WU_FILE_' + i), $percent = $li.find('.info'); if (!$percent.length) { $list.append('<div id="WU_FILE_' + i + '" class="item">' + '<h4 class="info">' + file.name + '</h4>' + '<p class="state">等待上傳...</p>' + ' <span id="iid' + i + '"></span><span id="all' + i + '"></span></div>'); } else { var $lii = $('#WU_FILE_' + i);//修改已上傳的 $lii.html('<div id="WU_FILE_' + i + '" class="item">' + '<h4 class="info">' + file.name + '</h4>' + '<p class="state">等待上傳...</p>' + '<span id="iid' + i + '"></span><span id="all' + i + '"></span></div>'); } } }); // 文件上傳過程中創建進度條實時顯示。 uploader.on('uploadProgress', function (file, percentage) { $li = $('#WU_FILE_' + i), $percent = $li.find('.progress .progress-bar'); // 避免重復創建---進度條 if (!$percent.length) { $percent = $('<div class="progress ctive">' + '<div class="progress-bar" role="progressbar" style="width: 0%">' + '</div>' + '</div>').appendTo($li).find('.progress-bar'); } $li.find('p.state').text('上傳中'); $percent.css('width', percentage * 100 + '%');//進度條 //上傳期間所上傳占總的比例 var nowSize = 0;//已上傳大小 var gb = Math.pow(1024, 3); var mb = Math.pow(1024, 2); var kb = 1024; var fileSize = uploader.getFiles()[uploader.getFiles().length - 1].size;//總大小 if (fileSize >= gb) { var fz = (fileSize / gb).toFixed(2); Size = fz + "GB"; nowSize = (fz * percentage).toFixed(2) + "GB"; } else if (fileSize >= mb) { var fz = (fileSize / mb).toFixed(2); Size = fz + "MB"; nowSize = (fz * percentage).toFixed(2) + "MB"; } else if (fileSize >= kb) { var fz = (fileSize / kb).toFixed(2); Size = fz + "KB"; nowSize = (fz * percentage).toFixed(2) + "KB"; } else { var fz = fileSize; Size = fz + "B"; nowSize = fz * percentage + "B"; } //var iidSize = nowSize / Size; $("#iid" + i).html((percentage*100).toFixed(2)+"%");//已上傳比例 $("#all" + i).html("總大小:" + Size);//總大小 }); uploader.on('uploadSuccess', function (file, response) { //console.log(response._raw); $('#WU_FILE_' + i).find('p.state').text('已完成'); //uploader.removeFile(file);//刪除 //uploader.reset(); }); uploader.on('uploadError', function (file) { $('#WU_FILE_' + i).find('p.state').text('上傳出錯'); }); uploader.on('uploadComplete', function (file) { //$('#' + file.id).find('.progress').fadeOut();//刪除進度條 }); /** * 驗證文件格式以及文件大小 */ uploader.on("error", function (type) { if (type == "F_EXCEED_SIZE") { alert("文件大小不能超過100M"); } else { alert("上傳出錯!請檢查后重新上傳!錯誤代碼" + type); } }); return uploader; } function bbb(i) { $("#picker1").show(); uploader= aa(i); } </script> </span>
