亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

plupload+artdialog實現多平臺上傳文件

2019-11-20 09:26:57
字體:
來源:轉載
供稿:網友

在沒介紹正文之前先給大家介紹下plupload知識

plupload簡介

Plupload是有TinyMCE的開發者開發的,為您的內容管理系統或是類似上傳程序提供一個高度可用的上傳插件。Plupload 目前分為一個核心API 和一個jQuery上傳隊列部件,這樣使你可以直接使用或是自己定制。

plupload特性

Plupload使用jQuery的組件做為選擇文件和上傳文件的隊列組件。

Plupload使用Flash,Silverlight,HTML5,Gears,BrowserPlus、FileUpload上傳文件技術引擎。

Plupload允許自定義使用Plupload核心API來進行選擇文件與上傳文件。

JavaScript用來激活文件選擇對話框。此文件選擇對話框是可以設置允許用戶選擇一個單獨的文件或者是多個文件。 選擇的的文件類型也是可以被限制的,因此用戶只能選擇指定的適當的文件,例如jgp;gif。

Plupload允許對上傳過程中的一些事件進行自定義,寫上自己的處理方式。

選定的文件的上傳和它所在頁面、表單是獨立的。每個文件都是單獨上傳的,這就保證了服務端腳本能夠在一個時間點更容易地處理單個文件。具體信息可以訪問Plupload官方網站:http://www.plupload.com/

背景:本來項目中使用的前端文件上傳控件是uploadify,一切相安無事了一段時間后。現場傳來”喜訊“,客戶要用ipad使用系統,還想上傳圖片??蛻衾蠣斠慌哪X門,研發就要加班加點。大家知道uploadify是依賴flash的,所以在ios,mac系統上都不行。于是,經過一番google,找到了plupload。上手比較簡單。

頁面html代碼:

head標簽中包含必要的js文件

<script type="text/javascript" src="js/jquery-1.9.1.min.js" ></script>
<!-- art dialog -->
<script type="text/javascript" src="artdialog/artDialog.source.js?skin=blue"></script>
<!-- plupload -->
<script type="text/javascript" src="plupload/plupload.full.js"></script>

body標簽中的頁面元素

<!-- 觸發彈出框 --><a id="uploadBtn" class="optionbtn inline" href="#">文件上傳</a><div id="uploadContent" class="" style="display:none;height:300px;overflow-x:hidden;overflow-y:auto;"><div id="choosefile"><span>單個文件支持小于100M</span><br/><a id="uploadify" href="javascript:void(0);">選擇文件</a></div> <div id="uploadfileQueue" style="border: 1px solid #a7c5e2;height: 228px;width: 350px;"></div></div><pre id="console"></pre>

script標簽中的代碼

var globalUploader;function _plupload(){var uploader = new plupload.Uploader({runtimes : 'html5,flash,silverlight,html4',browse_button: 'uploadify', //頁面上瀏覽文件的DOM對象的id屬性container: 'uploadContent',//包含browse_button的divurl: '/uploadAction!localUpload.action',//接收文件上傳的actionflash_swf_url : '/folder/js/plupload/Moxie.swf',silverlight_xap_url : '/folder/js/plupload/Moxie.xap',filters : {max_file_size : '100mb',//限制上傳文件大小mime_types: [//限制上傳文件類型{title : "Image files", extensions : "jpg,gif,png"}]},init: {PostInit: function() {$('#uploadfileQueue').html('');},UploadFile : function(up,file){//BeforeUpload后觸發},BeforeUpload : function(up,file){//點擊按鈕后上傳前觸發,此處可以做查詢同名文件,檢查剩余空間等操作//檢查是否有重名文件,有則直接在文件名末尾加個括號和數字以示區分$.ajax({url:"/folder/personal/personalAction!getNewFileName.action",type:"POST",async:false,data:{'upFileName' : file.name, 'globalPid' : globalPid},dataType:"json",success:function(data){//上傳前設置參數up.setOption('multipart_params', {upFileName : data.newFileName, upFileType : file.name.split(".")[file.name.split(".").length - 1],//后綴upFileSize : file.size,parentId : globalPid});},error:function(XMLHttpRequest, textStatus, errorThrown){messageAlert("對不起,文件["+file.name+"]上傳準備失敗",'');// $('#uploadify').uploadify('cancel',file.id);//按id取消某個上傳任務}});},FileFiltered: function(up, file){//選擇文件后觸發},FilesAdded: function(up, files) {//文件添加到隊列中var i = 0;//記錄文件列表編號,刪除用plupload.each(files, function(file) {$('#uploadfileQueue').html($('#uploadfileQueue').html() + '<div id="' + file.id + '" class="uploadify-queue-item"><div class="cancel"><a href="javascript:_plupload_removeFile('+i+','+file.id+')"></a></div><span class="fileName">' + file.name + ' (' + plupload.formatSize(file.size) + ')</span><b></b><div class="uploadify-progress"><div class="uploadify-progress-bar"></div></div></div>');i ++;});},UploadProgress: function(up, file) {//點擊開始上傳后觸發,此處可以添加進度條,利用file.percentdocument.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '<span>-' + file.percent + "%</span>";//百分比$('#' + file.id).find('.uploadify-progress-bar').css('width', file.percent + '%');//進度條},Error: function(up, err) {//出錯觸發document.getElementById('console').innerHTML += "/n錯誤 #" + err.code + ": " + err.message;},FileUploaded: function(up, file, info) {//一個文件上傳完觸發// Fires when a file is successfully uploaded.data = eval( "(" + info.response + ")" );//服務器返回的數據,此處可以修改頁面上的文件列表等},UploadComplete: function(up, files){//所有文件上傳完觸發//Fires when all files in a queue are uploaded.}}});uploader.init();globalUploader = uploader;}function popUpDialog(){artDialog({id: 'file-upload',title: '文件上傳',fixed: true,lock: true,content: $("#uploadContent")[0],button:[{name: '開始上傳',focus:true,callback: function(){globalUploader.start();return false;}},{name: '關閉',callback: function(){$('#uploadfileQueue').html('');//刪掉上傳隊列的內容globalUploader.files.splice(0,globalUploader.files.length);//清除上傳隊列中的內容return true;}}],close: function(){$('#uploadfileQueue').html('');//刪掉上傳隊列的內容globalUploader.files.splice(0,globalUploader.files.length);//清除上傳隊列中的內容}});}$(function(){$('#uploadBtn').click(function(){popUpDialog();});_plupload();});

后臺代碼就不寫了,我用的struts2后臺action中使用private File file接收的文件,改其他名字就是null,目前還不知道怎么設置控件中的這個值

然后效果就是這個樣子

想要進度條需要加上這些css樣式,就是已有控制

<style type="text/css">#uploadfileQueue {position: relative;left: 0;top: 0;border: 1px solid #a7c5e2;margin-bottom: 5px;height: 228px;width: 350px;overflow-x: hidden;overflow-y: auto;}.uploadify-queue-item {/* background-color: #F5F5F5; */background-color: #FFF;-webkit-border-radius: 3px;-moz-border-radius: 3px;border-radius: 3px;font: 11px Verdana, Geneva, sans-serif;/* margin-top: 5px; */margin: 5px 5px 5px 5px;max-width: 350px;padding: 10px;}.uploadify-progress {background-color: #E5E5E5;margin-top: 10px;width: 100%;}.uploadify-progress-bar {background-color: #0099FF;height: 3px;width: 1px;}</style>

最后的效果。什么,還想要uploadify的刪除隊列里文件的叉叉,好吧

在style里再加上這段

.uploadify-queue-item .cancel a {background: url('js/uploadify-cancel.png') 0 0 no-repeat;float: right;height: 16px;text-indent: -9999px;width: 16px;}

當然還得加上刪除的js代碼。這里官方api里面有removeFile(file)但是,用再這里不太好使。于是使用了另一個方法splice(num,length),num是從第幾個開始刪,length是刪除的個數。

function _plupload_removeFile(removeNum,fileId){globalUploader.files.splice(removeNum,1);//刪除部分文件$(fileId).fadeOut();}

最終效果。

以上所述是小編給大家介紹的plupload+artdialog實現多平臺上傳文件,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产在线久久久| 欧美国产日韩xxxxx| www.久久草.com| 97精品久久久| 久国内精品在线| 日韩精品中文在线观看| 亚洲免费精彩视频| 亚洲精品国产福利| 亚洲电影中文字幕| 高清一区二区三区四区五区| 亚洲欧美日韩精品久久| 国产精品揄拍一区二区| 在线观看91久久久久久| 美女久久久久久久| 中文字幕久久精品| 亚洲国产精品专区久久| 亚洲国产精品久久久久秋霞蜜臀| 日韩视频一区在线| 国产婷婷97碰碰久久人人蜜臀| 欧美午夜影院在线视频| 亚洲人a成www在线影院| 亚洲欧美视频在线| 亚洲精品久久久久久下一站| 国产日韩欧美在线观看| 日韩二区三区在线| 国产精品黄色影片导航在线观看| 精品国内自产拍在线观看| 热久久美女精品天天吊色| 欧美性xxxxhd| 久久精品亚洲热| 国产性猛交xxxx免费看久久| 欧美日韩精品二区| 精品福利在线看| 欧美激情视频三区| 精品亚洲va在线va天堂资源站| 久国内精品在线| 精品久久久91| 国产脚交av在线一区二区| 日韩激情在线视频| 国产一区二区三区日韩欧美| 深夜成人在线观看| 国产精品jvid在线观看蜜臀| 97久久精品人搡人人玩| 91精品国产高清| 国产精品私拍pans大尺度在线| 精品五月天久久| 欧美激情女人20p| 欧美大片网站在线观看| 综合国产在线观看| 欧美激情中文字幕在线| 羞羞色国产精品| 欧美成年人视频网站欧美| 久久久久久国产精品美女| 91牛牛免费视频| 懂色aⅴ精品一区二区三区蜜月| 国产精品99久久久久久久久久久久| 中文字幕在线看视频国产欧美| 欧美大码xxxx| 国产精品爽爽ⅴa在线观看| 91成人免费观看网站| 伊人久久大香线蕉av一区二区| 亚洲性夜色噜噜噜7777| 日韩中文在线不卡| 精品久久久国产| 庆余年2免费日韩剧观看大牛| 伊人成人开心激情综合网| 国产精品毛片a∨一区二区三区|国| 色婷婷综合成人| 日韩精品免费在线视频观看| 欧美黄色成人网| 亚洲国产欧美自拍| 日韩精品视频免费在线观看| 国产精品久久精品| 影音先锋欧美在线资源| 国内精品久久久久久久久| 日韩av观看网址| 亚洲成人教育av| 韩剧1988免费观看全集| 欧美成人免费小视频| 亚洲电影成人av99爱色| 亚洲影视中文字幕| 国产欧美va欧美va香蕉在| 欧美有码在线视频| 色一情一乱一区二区| 国产日本欧美一区二区三区在线| 中文字幕欧美日韩精品| 欧美日韩国产丝袜另类| 欧美韩国理论所午夜片917电影| 国产精品大片wwwwww| 亚洲最大av在线| 亚洲福利视频免费观看| 少妇久久久久久| 久久精品成人动漫| 国产欧美一区二区三区久久人妖| 国产精品欧美日韩| 午夜精品美女自拍福到在线| 夜夜嗨av一区二区三区四区| 国产这里只有精品| 欧美视频中文在线看| 国产精品久久久久久久久久免费| 国产精品日日摸夜夜添夜夜av| 韩国三级电影久久久久久| 日本一区二区不卡| 国产v综合v亚洲欧美久久| 成人美女免费网站视频| 国产一区二区三区欧美| 欧美激情手机在线视频| 欧美性理论片在线观看片免费| 在线观看国产精品淫| 97在线看免费观看视频在线观看| 久久精品国产99国产精品澳门| 国产拍精品一二三| 欧美片一区二区三区| 91亚洲精品一区| 国产日韩欧美视频在线| 欧美精品日韩三级| 日韩有码在线播放| 精品国产乱码久久久久久虫虫漫画| 亚洲精品欧美日韩专区| 日韩av日韩在线观看| 国产女精品视频网站免费| 亚洲精品成a人在线观看| 欧美性猛交xxxx久久久| 国产精品久久久久91| 成人在线免费观看视视频| 亚洲r级在线观看| 国产拍精品一二三| 国产精品一区二区三区久久久| 成人激情视频在线观看| 欧美日韩国产综合新一区| 亚洲资源在线看| 成人免费视频a| 精品日韩美女的视频高清| 永久免费精品影视网站| 91精品久久久久久久久久久| 91精品久久久久久久久久久| 欧美日韩国产第一页| 欧美激情高清视频| 久久亚洲精品毛片| 欧美福利视频在线| 国产精品视频一区国模私拍| 欧美午夜www高清视频| 日韩网站免费观看| 国产成人久久久精品一区| 国产裸体写真av一区二区| 国产91精品不卡视频| 亚洲精品自拍视频| 国产精品久久久久7777婷婷| 美女久久久久久久久久久| 美女性感视频久久久| 国产成人精品久久亚洲高清不卡| 亚洲精品日韩久久久| 欧美高清在线播放| 最近中文字幕mv在线一区二区三区四区| 俺去了亚洲欧美日韩| 欧美在线视频观看| 国产精品高潮呻吟久久av野狼| 国产精品夫妻激情| 久久久噜噜噜久久中文字免| 亚洲电影免费观看高清完整版| 亚洲欧美制服中文字幕| 国产精品视频公开费视频| 国产精品久久久久影院日本| 国产精品欧美在线|